<classpathentry kind="lib" path="lib/jetty-http-9.2.10.v20150310.jar"/>
<classpathentry kind="lib" path="lib/jetty-io-9.2.10.v20150310.jar"/>
<classpathentry kind="lib" path="lib/java-json.jar"/>
+ <classpathentry kind="con" path="org.testng.TESTNG_CONTAINER"/>
<classpathentry kind="output" path="classes"/>
</classpath>
<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/jalview/build.xml"/>
+<listEntry value="/jalview"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
+<listEntry value="4"/>
</listAttribute>
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
.project
/dist
/classes
+/tests
+/test-reports
+/test-output
.externalToolBuilders/Jalview Release indices [Builder].launch
/.DS_Store
.DS_Store
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
formatter_profile=_Jalview
formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=jalview;java;javax;org;com;
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
sp_cleanup.add_default_serial_version_id=true
sp_cleanup.add_generated_serial_version_id=false
sp_cleanup.add_missing_annotations=true
<property name="jsonSimple" value="json_simple-1.1.jar" />
<property name="javaJson" value="java-json.jar" />
<property name="jalviewLiteJar" value="jalviewApplet.jar" />
+ <property name="reportDir" value="test-reports" />
+ <property name="testDir" value="test" />
+ <property name="testOutputDir" value="tests" />
<!-- switch to indicate if we should obfuscate jalviewLite -->
<!-- <property name="donotobfuscate" value="true"/> -->
<!-- switch to exclude associations from generated jnlp files -->
<exclude name="com/stevesoft/**" />
</javac>
</target>
+
+
+ <target name="testclean" depends="init">
+ <delete dir="${testOutputDir}" includes="*,**/*"/>
+ </target>
+
+ <target name="prepareTests" depends="init">
+ <mkdir dir="${testOutputDir}" />
+ <copy todir="${testOutputDir}">
+ <fileset dir=".">
+ <include name="${docDir}/**/*.*" />
+ <include name="${helpDir}/**/*.*" />
+ <include name="${libDir}/*.jar" />
+ </fileset>
+ <fileset dir="${resourceDir}">
+ <include name="**/*.*" />
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="buildTests" depends="prepareTests">
+ <javac source="1.5" target="1.5" srcdir="${sourceDir}" destdir="${testOutputDir}"
+ debug="${javac.debug}" classpathref="build.classpath" includeantruntime="false" >
+ <exclude name="jalview/*applet*" />
+ <exclude name="jalview/appletgui/**" />
+ </javac>
+ <javac source="1.5" target="1.5" srcdir="${testDir}" destdir="${testOutputDir}"
+ debug="${javac.debug}" classpathref="build.classpath" includeantruntime="false" >
+ </javac>
+ </target>
+
+ <taskdef name="testng" classname="org.testng.TestNGAntTask" >
+ <classpath location="utils/testnglibs/testng.jar" />
+ </taskdef>
+
+ <target name="testng" depends="buildTests">
+ <testng classpathref="build.classpath" outputDir="${reportDir}"
+ haltOnFailure="false">
+ <classpath location="${testOutputDir}" />
+ <xmlfileset dir="utils" includes="jalview_testng.xml" />
+ </testng>
+ </target>
+
<target name="buildindices" depends="init, prepare" unless="help.uptodate">
<java classname="com.sun.java.help.search.Indexer" classpathref="build.classpath" fork="true" dir="${outputDir}/${helpDir}">
<arg line="html" />
--- /dev/null
+<?xml version="1.0"?>
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * Copyright (C) 2014 The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+-->
+<!DOCTYPE rnaml SYSTEM "rnaml.dtd">
+
+<rnaml version="1.0">
+
+ <molecule id="1">
+ <sequence>
+ <numbering-system id="1" used-in-file="false">
+ <numbering-range>
+ <start>1</start>
+ <end>249</end>
+ </numbering-range>
+ </numbering-system>
+ <seq-data>
+ gaggaaaguc cggacUUCGC AGAAAAAGGU GCCAGUGAAA AACUGGGGGC CGUAAGGCUA
+ CGGAAAGUGU AACAGAAAAC AAACCGCUAA UUCUACCUAG GUAAGAUUAG ACAGGAUGAA
+ AAUGUCGAGC UUAUGGCUCG ACCUCUUUGU GGAAACACAA GGACGCUGCA AACCCCACCU
+ GAAGCAAGAA AGAGUUCGUU UCAGUUUUUC GCUCAGGAAC UCUUAGAGUC GCUCGAGGAU
+ UUUGGUGAC
+ </seq-data>
+ </sequence>
+ <structure>
+ <model id="?">
+ <str-annotation>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>15</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>184</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>16</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>183</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>17</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>182</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>18</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>181</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>22</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>210</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>23</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>209</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>24</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>208</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>25</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>207</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>27</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>180</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>28</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>179</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>29</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>178</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>30</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>177</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>31</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>176</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>32</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>46</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>33</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>45</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>34</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>44</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>35</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>43</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>36</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>42</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>47</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>61</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>48</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>59</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>49</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>58</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>50</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>57</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>51</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>56</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>62</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>175</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>63</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>174</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>67</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>173</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>68</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>172</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>69</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>169</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>70</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>168</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>71</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>167</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>84</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>115</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>85</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>114</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>86</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>111</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>87</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>110</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>88</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>109</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>89</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>108</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>90</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>107</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>91</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>106</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>92</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>105</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>93</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>104</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>94</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>103</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>95</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>102</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>96</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>101</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>124</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>142</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>125</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>141</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>126</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>140</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>127</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>139</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>128</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>138</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>129</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>137</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>143</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>165</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>144</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>163</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>145</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>162</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>146</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>161</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>147</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>160</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>148</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>159</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>149</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>158</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>150</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>157</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>151</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>156</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>188</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>230</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>189</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>229</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>190</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>224</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>191</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>223</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>192</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>222</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>193</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>221</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>194</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>220</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>195</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>219</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>196</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>218</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>197</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>217</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>203</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>213</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>204</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>212</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>205</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>211</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>244</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>249</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ </str-annotation>
+ </model>
+ </structure>
+ </molecule>
+<molecule id="2">
+ <sequence>
+ <numbering-system id="2" used-in-file="false">
+ <numbering-range>
+ <start>1</start>
+ <end>294</end>
+ </numbering-range>
+ </numbering-system>
+ <seq-data>
+ gaggaaaguc cgggCUCCAU AGGGCAGAGU GCCAGGUAAC GCCUGGGAGG CGCGAGCCUA
+ CGGAAAGUGC CACAGAAAAC AACCGCCUAA GCGCGCAAGC GCCGGUAAGG GUGAAAAGGU
+ GCGGUAAGAG CGCACCGCAC GGCUGGCAAC AGUUCGUGGC UAGGUAAACC CCACUCGGAG
+ CAAGACCAAA UAGGGAUCCA UUGGCGUGGC CCGCGCUGGA UCCGGGUAGG UUGCUAAAGG
+ CGGCCAGCGA UGGUCGUCGU AGAGGAAUGA CUGUCCUCGa cagaacccgg cuua
+ </seq-data>
+ </sequence>
+ <structure>
+ <model id="?">
+ <str-annotation>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>6</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>293</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>7</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>292</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>8</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>291</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>10</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>290</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>11</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>289</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>12</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>288</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>13</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>287</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>14</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>286</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>15</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>180</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>16</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>179</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>17</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>178</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>18</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>177</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>22</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>212</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>23</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>211</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>24</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>210</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>25</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>209</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>27</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>176</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>28</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>175</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>29</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>174</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>30</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>173</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>31</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>172</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>32</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>46</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>33</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>45</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>34</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>44</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>35</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>43</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>36</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>42</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>47</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>61</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>48</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>59</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>49</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>58</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>50</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>57</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>51</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>56</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>62</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>171</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>63</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>170</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>67</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>169</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>68</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>168</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>69</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>165</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>70</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>164</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>71</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>163</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>83</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>110</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>84</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>109</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>85</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>106</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>86</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>105</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>87</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>104</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>91</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>102</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>92</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>101</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>93</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>100</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>94</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>99</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>118</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>136</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>119</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>135</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>120</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>134</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>121</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>133</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>122</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>132</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>123</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>131</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>137</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>160</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>138</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>158</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>139</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>157</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>140</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>156</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>141</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>155</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>142</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>154</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>143</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>152</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>144</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>151</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>145</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>150</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>184</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>232</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>185</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>231</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>186</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>230</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>187</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>229</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>194</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>223</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>195</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>222</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>196</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>221</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>197</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>220</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>198</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>219</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>199</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>218</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>203</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>217</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>204</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>216</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>205</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>215</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>206</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>214</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>207</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>213</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>239</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>258</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>240</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>257</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>241</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>256</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>242</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>255</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>243</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>254</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>244</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>253</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>245</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>252</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ <base-pair comment="?">
+ <base-id-5p>
+ <base-id><position>246</position></base-id>
+ </base-id-5p>
+ <base-id-3p>
+ <base-id><position>251</position></base-id>
+ </base-id-3p>
+ </base-pair>
+ </str-annotation>
+ </model>
+ </structure>
+ </molecule>
+</rnaml>
*/
package MCview;
-import java.awt.Color;
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Vector;
-
import jalview.analysis.AlignSeq;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
import jalview.io.FileParse;
import jalview.util.MessageManager;
+import java.awt.Color;
+import java.io.IOException;
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Vector;
+
public class PDBfile extends jalview.io.AlignFile
{
private static String CALC_ID_PREFIX = "JalviewPDB";
"getSeqsAsArray", new Class[]
{}).invoke(jmf));
cl.getMethod("addAnnotations", new Class[]
- { Alignment.class }).invoke(jmf, al);
+ { AlignmentI.class }).invoke(jmf, al);
for (SequenceI sq : al.getSequences())
{
if (sq.getDatasetSequence() != null)
--- /dev/null
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+
+package jalview.api;
+
+/**
+ * Abstract interface implemented by Alignment Export dialog to retrieve user
+ * configurations
+ *
+ * @author tcnofoegbu
+ *
+ */
+public interface AlignExportSettingI
+{
+ /**
+ * Checks if hidden sequences should be exported
+ *
+ * @return
+ */
+ public boolean isExportHiddenSequences();
+
+ /**
+ * Checks if hidden columns shoulb be exported
+ *
+ * @return
+ */
+ public boolean isExportHiddenColumns();
+
+ /**
+ * Checks if Annotations should be exported, note this is available for
+ * complex flat file exports like JSON, HTML, GFF
+ *
+ * @return
+ */
+ public boolean isExportAnnotations();
+
+ /**
+ * Checks if SequenceFeatures should be exported, note this is available for
+ * complex flat file exports like JSON, HTML, GFF
+ *
+ * @return
+ */
+ public boolean isExportFeatures();
+
+ /**
+ * Checks if SequenceGroups should be exported, note this is available for
+ * complex flat file exports like JSON, HTML, GFF
+ *
+ * @return
+ */
+ public boolean isExportGroups();
+
+ /**
+ * Checks if settings/export process is cancelled
+ *
+ * @return
+ */
+ public boolean isCancelled();
+}
*/
package jalview.api;
-import java.awt.Color;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-
import jalview.analysis.Conservation;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.SequenceI;
import jalview.schemes.ColourSchemeI;
+import java.awt.Color;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
/**
* @author jimp
*
* Set whether view should scroll to show the highlighted region of a sequence
*/
void setFollowHighlight(boolean b);
-
- public FeatureRenderer getFeatureRenderer();
-
- public void setFeatureRenderer(FeatureRenderer featureRenderer);
-
- public boolean isIncludeHiddenRegion();
-
}
import jalview.datamodel.SequenceI;
import java.awt.Color;
-import java.util.Hashtable;
import java.util.List;
import java.util.Map;
public interface FeatureRenderer
{
+ /**
+ * compute the perceived colour for a given column position in sequenceI,
+ * taking transparency and feature visibility into account.
+ *
+ * @param col
+ * - background colour (due to alignment/group shading schemes, etc).
+ * @param sequenceI
+ * - sequence providing features
+ * @param r
+ * - column position
+ * @return
+ */
Color findFeatureColour(Color col, SequenceI sequenceI, int r);
+ /**
+ * trigger the feature discovery process for a newly created feature renderer.
+ */
void featuresAdded();
+ /**
+ *
+ * @param ft
+ * @return display style for a feature
+ */
Object getFeatureStyle(String ft);
+ /**
+ * update the feature style for a particular feature
+ *
+ * @param ft
+ * @param ggc
+ * - currently allows java.awt.Color and
+ * jalview.schemes.GraduatedColor
+ */
void setColour(String ft, Object ggc);
AlignViewportI getViewport();
+ /**
+ *
+ * @return container managing list of feature types and their visibility
+ */
FeaturesDisplayedI getFeaturesDisplayed();
+ /**
+ * get display style for all features types - visible or invisible
+ *
+ * @return
+ */
Map<String,Object> getFeatureColours();
+ /**
+ * query the alignment view to find all features
+ *
+ * @param newMadeVisible
+ * - when true, automatically make newly discovered types visible
+ */
void findAllFeatures(boolean newMadeVisible);
+ /**
+ * get display style for all features types currently visible
+ *
+ * @return
+ */
Map<String,Object> getDisplayedFeatureCols();
+ /**
+ * get all registered groups
+ *
+ * @return
+ */
List<String> getFeatureGroups();
+ /**
+ * get groups that are visible/invisible
+ *
+ * @param visible
+ * @return
+ */
List<String> getGroups(boolean visible);
+ /**
+ * change visibility for a range of groups
+ *
+ * @param toset
+ * @param visible
+ */
void setGroupVisibility(List<String> toset, boolean visible);
+ /**
+ * change visibiilty of given group
+ *
+ * @param group
+ * @param visible
+ */
void setGroupVisibility(String group, boolean visible);
+ /**
+ * locate features at a particular position on the given sequence
+ *
+ * @param sequence
+ * @param res
+ * @return
+ */
List<SequenceFeature> findFeaturesAtRes(SequenceI sequence, int res);
+ /**
+ *
+ * @return true if the rendering platform supports transparency
+ */
boolean isTransparencyAvailable();
+ /**
+ * get current displayed types
+ *
+ * @return
+ */
+
String[] getDisplayedFeatureTypes();
+ /**
+ * get current displayed groups
+ *
+ * @return
+ */
String[] getDisplayedFeatureGroups();
+ /**
+ * display all features of these types
+ *
+ * @param featureTypes
+ */
void setAllVisible(List<String> featureTypes);
+ /**
+ * display featureType
+ *
+ * @param featureType
+ */
void setVisible(String featureType);
}
*/
package jalview.appletgui;
-import java.awt.CheckboxMenuItem;
-import java.awt.Frame;
-import java.awt.Menu;
-import java.awt.MenuItem;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.Vector;
-
import jalview.analysis.AAFrequency;
import jalview.analysis.AlignmentAnnotationUtils;
import jalview.analysis.AlignmentUtils;
import jalview.util.MessageManager;
import jalview.util.UrlLink;
+import java.awt.CheckboxMenuItem;
+import java.awt.Frame;
+import java.awt.Menu;
+import java.awt.MenuItem;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.Vector;
+
public class APopupMenu extends java.awt.PopupMenu implements
ActionListener, ItemListener
{
// TODO consider using getSequenceSelection instead here
cap.setText(new jalview.io.AppletFormatAdapter().formatSequences(
- e.getActionCommand(), ap.av.getShowJVSuffix(), ap.av, true));
+ e.getActionCommand(), ap.av.getShowJVSuffix(), ap, true));
}
{
if (seq.getPDBId() != null)
{
- PDBEntry entry = (PDBEntry) seq.getPDBId().firstElement();
+ PDBEntry entry = seq.getPDBId().firstElement();
if (ap.av.applet.jmolAvailable)
{
if (hiddenSeqs != null && hiddenSeqs.length > 0)
{
viewport.hideSequence(hiddenSeqs);
- viewport.setHasHiddenRows(true);
}
if (columnSelection != null)
{
{ e.getActionCommand() }), 600, 500);
FeatureRenderer fr = this.alignPanel.cloneFeatureRenderer();
- viewport.setFeatureRenderer(fr);
- viewport.setIncludeHiddenRegion(false);
- cap.setText(new AppletFormatAdapter(viewport).formatSequences(
+ cap.setText(new AppletFormatAdapter(alignPanel).formatSequences(
e.getActionCommand(), viewport.getAlignment(),
viewport.getShowJVSuffix()));
}
*/
package jalview.appletgui;
-import java.awt.Font;
-
import jalview.analysis.NJTree;
import jalview.api.AlignViewportI;
-import jalview.api.FeatureRenderer;
import jalview.bin.JalviewLite;
import jalview.commands.CommandI;
import jalview.datamodel.AlignmentI;
import jalview.structure.VamsasSource;
import jalview.viewmodel.AlignmentViewport;
+import java.awt.Font;
+
public class AlignViewport extends AlignmentViewport implements
SelectionSource, VamsasSource, CommandListener
{
private AnnotationColumnChooser annotationColumnSelectionState;
- private FeatureRenderer featureRenderer;
-
- private boolean includeHiddenRegion = true;
-
public void finalize()
{
applet = null;
}
}
- @Override
- public FeatureRenderer getFeatureRenderer()
- {
- return featureRenderer;
- }
-
- @Override
- public void setFeatureRenderer(FeatureRenderer featureRenderer)
- {
- this.featureRenderer = featureRenderer;
-
- }
-
- public boolean isIncludeHiddenRegion()
- {
- return includeHiddenRegion;
- }
-
- public void setIncludeHiddenRegion(boolean includeHiddenRegion)
- {
- this.includeHiddenRegion = includeHiddenRegion;
- }
}
*/
package jalview.appletgui;
-import java.awt.BorderLayout;
-import java.awt.Button;
-import java.awt.Dialog;
-import java.awt.Font;
-import java.awt.Frame;
-import java.awt.Label;
-import java.awt.Panel;
-import java.awt.TextArea;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
-
import jalview.analysis.AlignmentUtils;
import jalview.api.ComplexAlignFile;
import jalview.bin.JalviewLite;
-import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.ColumnSelection;
import jalview.datamodel.PDBEntry;
import jalview.schemes.TCoffeeColourScheme;
import jalview.util.MessageManager;
+import java.awt.BorderLayout;
+import java.awt.Button;
+import java.awt.Dialog;
+import java.awt.Font;
+import java.awt.Frame;
+import java.awt.Label;
+import java.awt.Panel;
+import java.awt.TextArea;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+
public class CutAndPasteTransfer extends Panel implements ActionListener,
MouseListener
{
protected void loadAlignment(String text, boolean newWindow,
AlignViewport viewport)
{
- Alignment al = null;
+ AlignmentI al = null;
String format = new IdentifyFile().Identify(text,
AppletFormatAdapter.PASTE);
- AppletFormatAdapter afa = new AppletFormatAdapter(viewport);
+ AppletFormatAdapter afa = new AppletFormatAdapter(alignFrame.alignPanel);
try
{
al = afa.readFile(text, AppletFormatAdapter.PASTE, format);
* @param al
* @return
*/
- protected boolean openSplitFrame(Alignment al, String format)
+ protected boolean openSplitFrame(AlignmentI al, String format)
{
final AlignmentI thisAlignment = this.alignFrame.getAlignViewport().getAlignment();
if (thisAlignment.isNucleotide() == al.isNucleotide())
PaintRefresher.Register(this, av.getSequenceSetId());
}
- public void drawIdString(Graphics gg, SequenceI s, int i, int starty,
+ public void drawIdString(Graphics gg, boolean hiddenRows, SequenceI s,
+ int i, int starty,
int ypos)
{
int charHeight = av.getCharHeight();
((i - starty) * charHeight) + ypos + charHeight
- (charHeight / 5));
- if (av.hasHiddenRows() && av.getShowHiddenMarkers())
+ if (hiddenRows)
{
drawMarker(i, starty, ypos);
}
Color currentColor = Color.white;
Color currentTextColor = Color.black;
+ final boolean doHiddenCheck = av.isDisplayReferenceSeq()
+ || av.hasHiddenRows(), hiddenRows = av.hasHiddenRows()
+ && av.getShowHiddenMarkers();
+
if (av.getWrapAlignment())
{
int maxwidth = av.getAlignment().getWidth();
int cHeight = alheight * avcharHeight + hgap + annotationHeight;
int rowSize = av.getEndRes() - av.getStartRes();
-
// Draw the rest of the panels
for (int ypos = hgap, row = av.startRes; (ypos <= getSize().height)
&& (row < maxwidth); ypos += cHeight, row += rowSize)
SequenceI s = av.getAlignment().getSequenceAt(i);
gg.setFont(italic);
- if (av.isDisplayReferenceSeq() || av.hasHiddenRows())
+ if (doHiddenCheck)
{
setHiddenFont(s);
}
- drawIdString(gg, s, i, 0, ypos);
+ drawIdString(gg, hiddenRows, s, i, 0, ypos);
}
if (labels != null)
}
gg.setFont(italic);
// boolean isrep=false;
- if (av.isDisplayReferenceSeq() || av.hasHiddenRows())
+ if (doHiddenCheck)
{
// isrep =
setHiddenFont(seq);
(((i - starty) * avcharHeight) + avcharHeight)
- (avcharHeight / 5));
- if (av.hasHiddenRows() && av.getShowHiddenMarkers())
+ if (hiddenRows)
{
drawMarker(i, starty, 0);
}
import jalview.datamodel.AlignmentI;
-import java.awt.*;
-import java.awt.event.*;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.Graphics;
+import java.awt.Image;
+import java.awt.Panel;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
public class OverviewPanel extends Panel implements Runnable,
MouseMotionListener, MouseListener
Color color = Color.yellow;
int row, col, sameRow = 0, sameCol = 0;
jalview.datamodel.SequenceI seq;
+ final boolean hasHiddenRows = av.hasHiddenRows(), hasHiddenCols = av
+ .hasHiddenColumns();
boolean hiddenRow = false;
AlignmentI alignment = av.getAlignment();
for (row = 0; row <= sequencesHeight; row++)
}
hiddenRow = false;
- if (av.hasHiddenRows())
+ if (hasHiddenRows)
{
seq = alignment.getHiddenSequences().getHiddenSequence(lastrow);
if (seq == null)
}
if (hiddenRow
- || (av.hasHiddenColumns() && !av.getColumnSelection()
+ || (hasHiddenCols && !av.getColumnSelection()
.isVisible(lastcol)))
{
color = color.darker().darker();
*/
package jalview.bin;
-import java.applet.Applet;
-import java.awt.Button;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.EventQueue;
-import java.awt.Font;
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.event.ActionEvent;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import netscape.javascript.JSException;
-import netscape.javascript.JSObject;
-
import jalview.api.StructureSelectionManagerProvider;
import jalview.appletgui.AlignFrame;
import jalview.appletgui.AlignViewport;
import jalview.structure.StructureSelectionManager;
import jalview.util.MessageManager;
+import java.applet.Applet;
+import java.awt.Button;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.EventQueue;
+import java.awt.Font;
+import java.awt.Frame;
+import java.awt.Graphics;
+import java.awt.event.ActionEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+import netscape.javascript.JSException;
+import netscape.javascript.JSObject;
+
/**
* Jalview Applet. Runs in Java 1.18 runtime
*
*/
public AlignFrame loadAlignment(String text, String title)
{
- Alignment al = null;
+ AlignmentI al = null;
String format = new IdentifyFile().Identify(text,
AppletFormatAdapter.PASTE);
*/
package jalview.bin;
-import jalview.datamodel.Alignment;
+import jalview.datamodel.AlignmentI;
import jalview.io.AppletFormatAdapter;
import jalview.io.FileParse;
{
System.out.println("User specified Format is " + format);
}
- Alignment al = null;
+ AlignmentI al = null;
try
{
al = new AppletFormatAdapter().readFile(file, protocol, format);
* profileseq marked as hidden.
*/
public static ColumnSelection propagateInsertions(SequenceI profileseq,
- Alignment al, AlignmentView input)
+ AlignmentI al, AlignmentView input)
{
int profsqpos = 0;
--- /dev/null
+package jalview.gui;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.JDialog;
+import javax.swing.JInternalFrame;
+import javax.swing.JOptionPane;
+
+import jalview.api.AlignExportSettingI;
+import jalview.jbgui.GAlignExportSettings;
+
+@SuppressWarnings("serial")
+public class AlignExportSettings extends GAlignExportSettings implements
+ AlignExportSettingI
+{
+ protected JInternalFrame frame;
+
+ boolean cancelled = false;
+
+ private int width = 450;
+
+ private int height = 200;
+
+ JDialog dialog;
+
+ public AlignExportSettings(boolean hasHiddenSeq, boolean hasHiddenCols,
+ String alignFileFormat)
+ {
+ super(hasHiddenSeq, hasHiddenCols, alignFileFormat);
+
+ // frame = new JInternalFrame();
+ // frame.setContentPane(this);
+ // frame.setLayer(JLayeredPane.PALETTE_LAYER);
+ // Desktop.addInternalFrame(frame, "Export Settings", width, height);
+
+ JOptionPane pane = new JOptionPane(null, JOptionPane.DEFAULT_OPTION,
+ JOptionPane.DEFAULT_OPTION, null, new Object[]
+ { this });
+ dialog = pane.createDialog(Desktop.desktop, "Export Settings");
+
+ // dialog = new JDialog(Desktop.instance, true);
+ // dialog.setTitle("Export Settings");
+
+ dialog.pack();
+ dialog.setVisible(true);
+
+ dialog.setContentPane(this);
+ dialog.validate();
+
+ }
+
+ // public static void main(String[] args)
+ // {
+ // new AlignExportSettings(false, false, false);
+ // }
+
+ // public void cancel_actionPerformed(ActionEvent e)
+ // {
+ // try
+ // {
+ // frame.setClosed(true);
+ // } catch (Exception ex)
+ // {
+ // }
+ // }
+
+ public void ok_actionPerformed(ActionEvent e)
+ {
+ cancelled = false;
+ dialog.setVisible(false);
+ }
+
+ public void cancel_actionPerformed(ActionEvent e)
+ {
+ cancelled = true;
+ dialog.setVisible(false);
+ }
+
+ @Override
+ public boolean isExportHiddenSequences()
+ {
+ return chkHiddenSeqs.isSelected();
+ }
+
+ @Override
+ public boolean isExportHiddenColumns()
+ {
+ return chkHiddenCols.isSelected();
+ }
+
+ @Override
+ public boolean isExportAnnotations()
+ {
+ return chkExportAnnots.isSelected();
+ }
+
+ @Override
+ public boolean isExportFeatures()
+ {
+ return chkExportFeats.isSelected();
+ }
+
+ @Override
+ public boolean isExportGroups()
+ {
+ return chkExportGrps.isSelected();
+ }
+
+ @Override
+ public boolean isCancelled()
+ {
+ return cancelled;
+ }
+
+}
*/
package jalview.gui;
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.Rectangle;
-import java.awt.Toolkit;
-import java.awt.datatransfer.Clipboard;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.datatransfer.StringSelection;
-import java.awt.datatransfer.Transferable;
-import java.awt.dnd.DnDConstants;
-import java.awt.dnd.DropTargetDragEvent;
-import java.awt.dnd.DropTargetDropEvent;
-import java.awt.dnd.DropTargetEvent;
-import java.awt.dnd.DropTargetListener;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.awt.event.KeyAdapter;
-import java.awt.event.KeyEvent;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.awt.print.PageFormat;
-import java.awt.print.PrinterJob;
-import java.beans.PropertyChangeEvent;
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Deque;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Set;
-import java.util.Vector;
-
-import javax.swing.JCheckBoxMenuItem;
-import javax.swing.JEditorPane;
-import javax.swing.JInternalFrame;
-import javax.swing.JLayeredPane;
-import javax.swing.JMenu;
-import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
-import javax.swing.JRadioButtonMenuItem;
-import javax.swing.JScrollPane;
-import javax.swing.SwingUtilities;
-
import jalview.analysis.AAFrequency;
import jalview.analysis.AlignmentSorter;
import jalview.analysis.AlignmentUtils;
import jalview.analysis.Dna;
import jalview.analysis.ParseProperties;
import jalview.analysis.SequenceIdMatcher;
+import jalview.api.AlignExportSettingI;
import jalview.api.AlignViewControllerGuiI;
import jalview.api.AlignViewControllerI;
import jalview.api.AlignViewportI;
import jalview.ws.jws2.jabaws2.Jws2Instance;
import jalview.ws.seqfetcher.DbSourceProxy;
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.Rectangle;
+import java.awt.Toolkit;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.StringSelection;
+import java.awt.datatransfer.Transferable;
+import java.awt.dnd.DnDConstants;
+import java.awt.dnd.DropTargetDragEvent;
+import java.awt.dnd.DropTargetDropEvent;
+import java.awt.dnd.DropTargetEvent;
+import java.awt.dnd.DropTargetListener;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.print.PageFormat;
+import java.awt.print.PrinterJob;
+import java.beans.PropertyChangeEvent;
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Deque;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Set;
+import java.util.Vector;
+
+import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JEditorPane;
+import javax.swing.JInternalFrame;
+import javax.swing.JLayeredPane;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
+import javax.swing.JRadioButtonMenuItem;
+import javax.swing.JScrollPane;
+import javax.swing.SwingUtilities;
+
/**
* DOCUMENT ME!
*
if (hiddenSeqs != null && hiddenSeqs.length > 0)
{
viewport.hideSequence(hiddenSeqs);
- viewport.setHasHiddenRows(true);
}
alignPanel = new AlignmentPanel(this, viewport);
addAlignmentPanel(alignPanel, true);
return false;
}
- ExportData exportData = getAlignmentForExport();
- FormatAdapter f = new FormatAdapter(viewport);
+ ExportData exportData = getAlignmentForExport(format);
+ FormatAdapter f = new FormatAdapter(alignPanel);
String output = f.formatSequences(format,
exportData.getAlignment(), // class cast exceptions will
// occur in the distant future
protected void outputText_actionPerformed(ActionEvent e)
{
- ExportData exportData = getAlignmentForExport();
+ ExportData exportData = getAlignmentForExport(e.getActionCommand());
+ if (exportData.getSettings().isCancelled())
+ {
+ return;
+ }
CutAndPasteTransfer cap = new CutAndPasteTransfer();
cap.setForInput(null);
-
try
{
- cap.setText(new FormatAdapter(viewport).formatSequences(
+ cap.setText(new FormatAdapter(alignPanel, exportData.getSettings())
+ .formatSequences(
e.getActionCommand(),
exportData.getAlignment(),
exportData.getOmitHidden(), exportData.getStartEndPostions(),
}
- public ExportData getAlignmentForExport()
+ public ExportData getAlignmentForExport(String exportFomat)
{
AlignmentI alignmentToExport = null;
String[] omitHidden = null;
int[] alignmentStartEnd = new int[2];
- FeatureRenderer fr = new FeatureRenderer(this.alignPanel);
- viewport.setFeatureRenderer(fr);
+
HiddenSequences hiddenSeqs = viewport.getAlignment()
.getHiddenSequences();
alignmentStartEnd = new int[]
{ 0, alignmentToExport.getWidth() - 1 };
- if (viewport.hasHiddenColumns() || hiddenSeqs.getSize() > 0)
- {
- int reply = JOptionPane
- .showInternalConfirmDialog(
- Desktop.desktop,
- MessageManager
- .getString("label.alignment_contains_hidden_columns"),
- MessageManager
- .getString("action.save_omit_hidden_columns"),
- JOptionPane.YES_NO_OPTION,
- JOptionPane.QUESTION_MESSAGE);
+ boolean hasHiddenSeqs = hiddenSeqs.getSize() > 0;
+ AlignExportSettingI settings = new AlignExportSettings(hasHiddenSeqs,
+ viewport.hasHiddenColumns(), exportFomat);
+ settings.isExportAnnotations();
- if (reply == JOptionPane.YES_OPTION)
- {
- // export only visible region
- omitHidden = viewport.getViewAsString(false);
- alignmentToExport = viewport.getAlignment();
- alignmentStartEnd = getStartEnd(alignmentStartEnd, viewport
- .getColumnSelection().getHiddenColumns());
- viewport.setIncludeHiddenRegion(false);
- }
- else
- {
- // export all region including visible
- alignmentToExport = hiddenSeqs.getFullAlignment();
- viewport.setIncludeHiddenRegion(true);
- }
+ if (viewport.hasHiddenColumns() && !settings.isExportHiddenColumns())
+ {
+ omitHidden = viewport.getViewAsString(false);
}
- return new ExportData(alignmentToExport, omitHidden, alignmentStartEnd);
+ if (hasHiddenSeqs && settings.isExportHiddenSequences())
+ {
+ alignmentToExport = hiddenSeqs.getFullAlignment();
+ }
+ else
+ {
+ alignmentToExport = viewport.getAlignment();
+ alignmentStartEnd = getStartEnd(alignmentStartEnd, viewport
+ .getColumnSelection().getHiddenColumns());
+ }
+ return new ExportData(alignmentToExport, omitHidden, alignmentStartEnd,
+ settings);
}
private static int[] getStartEnd(int[] aligmentStartEnd,
@Override
protected void htmlMenuItem_actionPerformed(ActionEvent e)
{
- // new HTMLOutput(alignPanel,
- // alignPanel.getSeqPanel().seqCanvas.getSequenceRenderer(),
- // alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer());
new HtmlSvgOutput(null, alignPanel);
}
@Override
public void bioJSMenuItem_actionPerformed(ActionEvent e)
{
- BioJsHTMLOutput bjs = new BioJsHTMLOutput(alignPanel,
- alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer());
+ BioJsHTMLOutput bjs = new BioJsHTMLOutput(alignPanel);
bjs.exportJalviewAlignmentAsBioJsHtmlFile();
}
public void createImageMap(File file, String image)
private int[] startEnd;
- public ExportData(AlignmentI align, String[] ommit, int[] startEnd)
+ private AlignExportSettingI settings;
+
+ public ExportData(AlignmentI align, String[] ommit, int[] startEnd,
+ AlignExportSettingI settings)
{
this.alignment = align;
this.omitHidden = ommit;
this.startEnd = startEnd;
+ this.settings = settings;
}
public AlignmentI getAlignment()
{
this.startEnd = startEnd;
}
+
+ public AlignExportSettingI getSettings()
+ {
+ return settings;
+ }
+
+ public void setSettings(AlignExportSettingI settings)
+ {
+ this.settings = settings;
+ }
}
}
*/
package jalview.gui;
-import java.awt.Container;
-import java.awt.Dimension;
-import java.awt.Font;
-import java.awt.Rectangle;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Set;
-import java.util.Vector;
-
-import javax.swing.JInternalFrame;
-import javax.swing.JOptionPane;
-
import jalview.analysis.AlignmentUtils;
import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
import jalview.analysis.NJTree;
import jalview.api.AlignViewportI;
-import jalview.api.FeatureRenderer;
import jalview.api.ViewStyleI;
import jalview.bin.Cache;
import jalview.commands.CommandI;
import jalview.viewmodel.AlignmentViewport;
import jalview.ws.params.AutoCalcSetting;
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.Rectangle;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Set;
+import java.util.Vector;
+
+import javax.swing.JInternalFrame;
+import javax.swing.JOptionPane;
+
/**
* DOCUMENT ME!
*
private Rectangle explodedGeometry;
- private FeatureRenderer featureRenderer;
-
- private boolean includeHiddenRegion = true;
String viewName;
/*
}
}
- @Override
- public FeatureRenderer getFeatureRenderer()
- {
- return featureRenderer;
- }
-
- @Override
- public void setFeatureRenderer(FeatureRenderer featureRenderer)
- {
- this.featureRenderer = featureRenderer;
- }
-
- public boolean isIncludeHiddenRegion()
- {
- return includeHiddenRegion;
- }
-
- public void setIncludeHiddenRegion(boolean includeHiddenRegion)
- {
- this.includeHiddenRegion = includeHiddenRegion;
- }
}
getSize(currentSize);
g.getClipBounds(rectClip);
- if (jmb.fileLoadingError != null)
+ if (jmb != null && jmb.fileLoadingError != null)
{
g.setColor(Color.black);
g.fillRect(0, 0, currentSize.width, currentSize.height);
*/
package jalview.gui;
+import jalview.api.AlignViewportI;
+import jalview.api.AlignmentViewPanel;
+import jalview.api.ComplexAlignFile;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.SequenceI;
+import jalview.io.FileParse;
+import jalview.io.FormatAdapter;
+import jalview.io.IdentifyFile;
+import jalview.io.JalviewFileChooser;
+import jalview.io.JalviewFileView;
+import jalview.jbgui.GCutAndPasteTransfer;
+import jalview.schemes.ColourSchemeI;
+import jalview.util.MessageManager;
+
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
-import jalview.api.ComplexAlignFile;
-import jalview.datamodel.Alignment;
-import jalview.datamodel.ColumnSelection;
-import jalview.datamodel.SequenceI;
-import jalview.io.FileParse;
-import jalview.io.FormatAdapter;
-import jalview.io.IdentifyFile;
-import jalview.io.JalviewFileChooser;
-import jalview.io.JalviewFileView;
-import jalview.jbgui.GCutAndPasteTransfer;
-import jalview.schemes.ColourSchemeI;
-import jalview.util.MessageManager;
-
/**
* Cut'n'paste files into the desktop See JAL-1105
*
public class CutAndPasteTransfer extends GCutAndPasteTransfer
{
- AlignViewport viewport;
+ AlignmentViewPanel alignpanel;
+
+ AlignViewportI viewport;
FileParse source = null;
public CutAndPasteTransfer()
/**
* DOCUMENT ME!
*/
- public void setForInput(AlignViewport viewport)
+ public void setForInput(AlignmentViewPanel viewpanel)
{
- this.viewport = viewport;
+ this.alignpanel = viewpanel;
+ if (alignpanel != null)
+ {
+
+ }
+ this.viewport = alignpanel.getAlignViewport();
if (viewport != null)
{
ok.setText(MessageManager.getString("action.add"));
{
String format = new IdentifyFile().Identify(getText(), "Paste");
// TODO: identify feature, annotation or tree file and parse appropriately.
- Alignment al = null;
+ AlignmentI al = null;
if (FormatAdapter.isValidFormat(format))
{
try
{
- FormatAdapter fa = new FormatAdapter(viewport);
+ FormatAdapter fa = new FormatAdapter(alignpanel);
al = fa.readFile(getText(), "Paste", format);
source = fa.getAlignFile();
{ format });
if (viewport != null)
{
- viewport.addAlignment(al, title);
+ ((AlignViewport) viewport).addAlignment(al, title);
}
else
{
*/
package jalview.gui;
+import jalview.api.AlignViewportI;
+import jalview.api.AlignmentViewPanel;
+import jalview.bin.Cache;
+import jalview.io.FileLoader;
+import jalview.io.FormatAdapter;
+import jalview.io.IdentifyFile;
+import jalview.io.JalviewFileChooser;
+import jalview.io.JalviewFileView;
+import jalview.jbgui.GSplitFrame;
+import jalview.jbgui.GStructureViewer;
+import jalview.structure.StructureSelectionManager;
+import jalview.util.ImageMaker;
+import jalview.util.MessageManager;
+import jalview.viewmodel.AlignmentViewport;
+import jalview.ws.params.ParamManager;
+
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;
-import jalview.api.AlignViewportI;
-import jalview.api.AlignmentViewPanel;
-import jalview.bin.Cache;
-import jalview.io.FileLoader;
-import jalview.io.FormatAdapter;
-import jalview.io.IdentifyFile;
-import jalview.io.JalviewFileChooser;
-import jalview.io.JalviewFileView;
-import jalview.jbgui.GSplitFrame;
-import jalview.jbgui.GStructureViewer;
-import jalview.structure.StructureSelectionManager;
-import jalview.util.ImageMaker;
-import jalview.util.MessageManager;
-import jalview.viewmodel.AlignmentViewport;
-import jalview.ws.params.ParamManager;
-
/**
* Jalview Desktop
*
public void inputTextboxMenuItem_actionPerformed(AlignViewport viewport)
{
CutAndPasteTransfer cap = new CutAndPasteTransfer();
- cap.setForInput(viewport);
+ cap.setForInput(viewport.getAlignPanel());
Desktop.addInternalFrame(cap,
MessageManager.getString("label.cut_paste_alignmen_file"),
true, 600, 500);
*
* @param gg
* DOCUMENT ME!
+ * @param hiddenRows
+ * true - check and display hidden row marker if need be
* @param s
* DOCUMENT ME!
* @param i
* @param ypos
* DOCUMENT ME!
*/
- public void drawIdString(Graphics2D gg, SequenceI s, int i, int starty,
+ public void drawIdString(Graphics2D gg, boolean hiddenRows, SequenceI s,
+ int i, int starty,
int ypos)
{
int xPos = 0;
gg.drawString(s.getDisplayId(av.getShowJVSuffix()), xPos,
(((i - starty + 1) * charHeight) + ypos) - (charHeight / 5));
- if (av.hasHiddenRows() && av.getShowHiddenMarkers())
+ if (hiddenRows)
{
drawMarker(i, starty, ypos);
}
Color currentColor = Color.white;
Color currentTextColor = Color.black;
+ final boolean doHiddenCheck = av.isDisplayReferenceSeq()
+ || av.hasHiddenRows(), hiddenRows = av.hasHiddenRows();
+
if (av.getWrapAlignment())
{
int maxwidth = av.getAlignment().getWidth();
for (int i = starty; i < alheight; i++)
{
SequenceI s = av.getAlignment().getSequenceAt(i);
- if (av.isDisplayReferenceSeq() || av.hasHiddenRows())
+ if (doHiddenCheck)
{
setHiddenFont(s);
}
gg.setFont(getIdfont());
}
- drawIdString(gg, s, i, 0, ypos);
+ drawIdString(gg, hiddenRows, s, i, 0, ypos);
}
if (labels != null && av.isShowAnnotation())
continue;
}
- if (av.isDisplayReferenceSeq() || av.hasHiddenRows())
+ if (doHiddenCheck)
{
setHiddenFont(sequence);
}
(((i - starty) * av.getCharHeight()) + av.getCharHeight())
- (av.getCharHeight() / 5));
- if (av.hasHiddenRows() && av.getShowHiddenMarkers())
+ if (hiddenRows)
{
drawMarker(i, starty, 0);
}
int color = Color.white.getRGB();
int row, col;
jalview.datamodel.SequenceI seq;
+ final boolean hasHiddenRows = av.hasHiddenRows(), hasHiddenCols = av
+ .hasHiddenColumns();
boolean hiddenRow = false;
for (row = 0; row < sequencesHeight; row++)
{
lastrow = (int) (row * sampleRow);
hiddenRow = false;
- if (av.hasHiddenRows())
+ if (hasHiddenRows)
{
seq = av.getAlignment().getHiddenSequences()
.getHiddenSequence(lastrow);
}
if (hiddenRow
- || (av.hasHiddenColumns() && !av.getColumnSelection()
+ || (hasHiddenCols && !av.getColumnSelection()
.isVisible(lastcol)))
{
color = new Color(color).darker().darker().getRGB();
// wysiwig behaviour
cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(),
- ap.av, true));
+ ap, true));
}
public void pdbFromFile_actionPerformed()
*/
package jalview.gui;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.DBRefEntry;
+import jalview.datamodel.DBRefSource;
+import jalview.datamodel.SequenceFeature;
+import jalview.datamodel.SequenceI;
+import jalview.io.FormatAdapter;
+import jalview.io.IdentifyFile;
+import jalview.util.DBRefUtils;
+import jalview.util.MessageManager;
+import jalview.ws.dbsources.das.api.DasSourceRegistryI;
+import jalview.ws.seqfetcher.DbSourceProxy;
+
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import com.stevesoft.pat.Regex;
-import jalview.datamodel.Alignment;
-import jalview.datamodel.AlignmentI;
-import jalview.datamodel.DBRefEntry;
-import jalview.datamodel.DBRefSource;
-import jalview.datamodel.SequenceFeature;
-import jalview.datamodel.SequenceI;
-import jalview.io.FormatAdapter;
-import jalview.io.IdentifyFile;
-import jalview.util.DBRefUtils;
-import jalview.util.MessageManager;
-import jalview.ws.dbsources.das.api.DasSourceRegistryI;
-import jalview.ws.seqfetcher.DbSourceProxy;
-
public class SequenceFetcher extends JPanel implements Runnable
{
JLabel dbeg = new JLabel();
AlignmentI parseResult(String result, String title)
{
String format = new IdentifyFile().Identify(result, "Paste");
- Alignment sequences = null;
+ AlignmentI sequences = null;
if (FormatAdapter.isValidFormat(format))
{
sequences = null;
*/
package jalview.io;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Vector;
-
-import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceI;
import jalview.util.MessageManager;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Vector;
+
/**
* DOCUMENT ME!
*
*
* @param al
*/
- public void addAnnotations(Alignment al)
+ public void addAnnotations(AlignmentI al)
{
addProperties(al);
for (int i = 0; i < annotations.size(); i++)
}
+ /**
+ * register sequence groups on the alignment for **output**
+ *
+ * @param al
+ */
public void addSeqGroups(AlignmentI al)
{
this.seqGroups = al.getGroups();
* @note implicitly called by addAnnotations()
* @param al
*/
- public void addProperties(Alignment al)
+ public void addProperties(AlignmentI al)
{
if (properties != null && properties.size() > 0)
{
return newickStrings == null ? 0 : newickStrings.size();
}
+ public void addGroups(AlignmentI al)
+ {
+
+ for (SequenceGroup sg : getSeqGroups())
+ {
+ al.addGroup(sg);
+ }
+ }
+
}
*/
package jalview.io;
-import java.io.StringWriter;
import java.io.PrintWriter;
+import java.io.StringWriter;
import java.util.Enumeration;
import java.util.Hashtable;
- alignment.getSequenceAt(i).getStart();
avg += size;
if (size > max)
+ {
max = size;
+ }
if (size < min)
+ {
min = size;
+ }
}
- avg = avg / (float) alignment.getHeight();
+ avg = avg / alignment.getHeight();
pw.print(nl);
pw.print("Sequences: " + alignment.getHeight());
pw.print(nl);
*/
package jalview.io;
-import java.io.File;
-import java.io.InputStream;
-import java.util.List;
-
-import jalview.api.AlignViewportI;
+import jalview.api.AlignExportSettingI;
+import jalview.api.AlignmentViewPanel;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentView;
-import jalview.datamodel.SequenceGroup;
+import jalview.gui.AlignmentPanel;
import jalview.util.MessageManager;
+import java.io.File;
+import java.io.InputStream;
+import java.util.List;
+
/**
* A low level class for alignment and feature IO with alignment formatting
* methods used by both applet and application for generating flat alignment
*/
public class AppletFormatAdapter
{
- private AlignViewportI viewport;
+ private AlignmentViewPanel viewpanel;
public static String FILE = "File";
*/
protected String newline = System.getProperty("line.separator");
+ private AlignExportSettingI exportSettings;
+
/**
* List of valid format strings used in the isValidFormat method
*/
{
}
- public AppletFormatAdapter(AlignViewportI viewport)
+ public AppletFormatAdapter(AlignmentViewPanel viewpanel)
+ {
+ this.viewpanel = viewpanel;
+ }
+
+ public AppletFormatAdapter(AlignmentPanel alignPanel,
+ AlignExportSettingI settings)
{
- this.viewport = viewport;
+ viewpanel = alignPanel;
+ exportSettings = settings;
}
/**
*
* @return DOCUMENT ME!
*/
- public Alignment readFile(String inFile, String type, String format)
+ public AlignmentI readFile(String inFile, String type, String format)
throws java.io.IOException
{
// TODO: generalise mapping between format string and io. class instances
this.inFile = inFile;
try
{
- Alignment al;
if (format.equals("FASTA"))
{
alignFile = new FastaFile(inFile, type);
else if (format.equals(JSONFile.FILE_DESC))
{
alignFile = new JSONFile(inFile, type);
- al = new Alignment(alignFile.getSeqsAsArray());
- alignFile.addAnnotations(al);
- ((JSONFile) alignFile).setViewport(viewport);
- for (SequenceGroup sg : alignFile.getSeqGroups())
- {
- al.addGroup(sg);
- }
-
- return al;
}
else if (format.equals(HtmlFile.FILE_DESC))
{
alignFile = new HtmlFile(inFile, type);
- al = new Alignment(alignFile.getSeqsAsArray());
- alignFile.addAnnotations(al);
- for (SequenceGroup sg : alignFile.getSeqGroups())
- {
- al.addGroup(sg);
- }
- return al;
}
else if (format.equals("RNAML"))
{
{
alignFile = new Gff3File(inFile, type);
}
-
- al = new Alignment(alignFile.getSeqsAsArray());
-
- alignFile.addAnnotations(al);
-
- return al;
+ return buildAlignmentFrom(alignFile);
} catch (Exception e)
{
e.printStackTrace();
{
// Possible sequence is just residues with no label
alignFile = new FastaFile(">UNKNOWN\n" + inFile, "Paste");
- Alignment al = new Alignment(alignFile.getSeqsAsArray());
-
- alignFile.addSeqGroups(al);
- alignFile.addAnnotations(al);
- return al;
+ return buildAlignmentFrom(alignFile);
} catch (Exception ex)
{
String type = source.type;
try
{
- Alignment al;
if (format.equals("FASTA"))
{
alignFile = new FastaFile(source);
else if (format.equals(JSONFile.FILE_DESC))
{
alignFile = new JSONFile(source);
- al = new Alignment(alignFile.getSeqsAsArray());
- alignFile.addAnnotations(al);
- alignFile.addSeqGroups(al);
- return al;
}
else if (format.equals(HtmlFile.FILE_DESC))
{
alignFile = new HtmlFile(source);
}
- al = new Alignment(alignFile.getSeqsAsArray());
- alignFile.addAnnotations(al);
- return al;
+ return buildAlignmentFrom(alignFile);
+
} catch (Exception e)
{
e.printStackTrace();
{
// Possible sequence is just residues with no label
alignFile = new FastaFile(">UNKNOWN\n" + inFile, "Paste");
- Alignment al = new Alignment(alignFile.getSeqsAsArray());
- alignFile.addAnnotations(al);
- alignFile.addSeqGroups(al);
- return al;
+ return buildAlignmentFrom(alignFile);
} catch (Exception ex)
{
/**
+ * boilerplate method to handle data from an AlignFile and construct a new
+ * alignment or import to an existing alignment
+ *
+ * @param alignFile2
+ * @return AlignmentI instance ready to pass to a UI constructor
+ */
+ private AlignmentI buildAlignmentFrom(AlignFile alignFile2)
+ {
+ // Standard boilerplate for creating alignment from parser
+ alignFile.configureForView(viewpanel);
+
+ AlignmentI al = new Alignment(alignFile.getSeqsAsArray());
+
+ alignFile.addAnnotations(al);
+
+ alignFile.addGroups(al);
+
+ return al;
+ }
+
+ /**
* create an alignment flatfile from a Jalview alignment view
* @param format
* @param jvsuffix
* @return flatfile in a string
*/
public String formatSequences(String format, boolean jvsuffix,
- AlignViewportI av, boolean selectedOnly)
+ AlignmentViewPanel ap, boolean selectedOnly)
{
- AlignmentView selvew = av.getAlignmentView(selectedOnly, false);
- AlignmentI aselview = selvew.getVisibleAlignment(av
+ AlignmentView selvew = ap.getAlignViewport().getAlignmentView(
+ selectedOnly, false);
+ AlignmentI aselview = selvew.getVisibleAlignment(ap.getAlignViewport()
.getGapCharacter());
- List<AlignmentAnnotation> ala = (av
+ List<AlignmentAnnotation> ala = (ap.getAlignViewport()
.getVisibleAlignmentAnnotation(selectedOnly));
if (ala != null)
{
else if (format.equalsIgnoreCase(JSONFile.FILE_DESC))
{
afile = new JSONFile();
- afile.setViewport(viewport);
- // Add groups to AlignFile
- afile.seqGroups = alignment.getGroups();
-
- // Add non auto calculated annotation to AlignFile
- for (AlignmentAnnotation annot : alignment.getAlignmentAnnotation())
- {
- if (annot != null && !annot.autoCalculated)
- {
- if (annot.label.equals("PDB.CATempFactor"))
- {
- continue;
- }
- afile.annotations.add(annot);
- }
- }
}
else if (format.equalsIgnoreCase("RNAML"))
{
afile.setNewlineString(newline);
afile.addJVSuffix(jvsuffix);
- afile.setSeqs(alignment.getSequencesArray());
+ afile.setExportSettings(exportSettings);
+
+ afile.configureForView(viewpanel);
+ // check whether we were given a specific alignment to export, rather than
+ // the one in the viewpanel
+ if (viewpanel == null || viewpanel.getAlignment() == null
+ || viewpanel.getAlignment() != alignment)
+ {
+ afile.setSeqs(alignment.getSequencesArray());
+ }
+ else
+ {
+ afile.setSeqs(viewpanel.getAlignment().getSequencesArray());
+ }
String afileresp = afile.print();
if (afile.hasWarningMessage())
System.gc();
long memf = -r.totalMemory() + r.freeMemory();
long t1 = -System.currentTimeMillis();
- Alignment al = afa.readFile(args[i], FILE,
+ AlignmentI al = afa.readFile(args[i], FILE,
new IdentifyFile().Identify(args[i], FILE));
t1 += System.currentTimeMillis();
System.gc();
*/
package jalview.io;
-import java.io.*;
-import java.util.*;
+import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceI;
-import jalview.datamodel.*;
+import java.io.IOException;
+import java.util.Vector;
/**
* DOCUMENT ME!
{
line = nextLine();
if (line == null)
+ {
break;
+ }
// seek end of ids
if (line.indexOf("*") > -1)
{
}
} while (!idsFound);
if (line == null)
+ {
break; // end of file.
+ }
int starCol = line.indexOf("*");
seqstrings = new StringBuffer[seqs.size()];
}
if (seqs.size() > 0)
{
- if (headerLines.length() > 1 + numHeaderLines) // could see if buffer is
+ if (headerLines.length() > 1 + numHeaderLines)
+ {
// just whitespace or not.
setAlignmentProperty("Comments", headerLines.toString());
+ }
setAlignmentProperty("iteration", "" + iterationCount);
}
}
package jalview.io;
+import jalview.api.AlignmentViewPanel;
import jalview.exceptions.NoFileSelectedException;
-import jalview.gui.AlignViewport;
-import jalview.gui.AlignmentPanel;
-import jalview.gui.FeatureRenderer;
import jalview.json.binding.v1.BioJSReleasePojo;
import jalview.json.binding.v1.BioJSRepositoryPojo;
import jalview.util.MessageManager;
public class BioJsHTMLOutput
{
- private AlignViewport av;
+ private AlignmentViewPanel ap;
private static File currentBJSTemplateFile;
"biojs_template_git_repo",
"https://raw.githubusercontent.com/tcofoegbu/bjs-template/master/package.json");
- public BioJsHTMLOutput(AlignmentPanel ap, FeatureRenderer fr1)
+ public BioJsHTMLOutput(AlignmentViewPanel ap)
{
if (ap != null)
{
- this.av = ap.av;
- av.setFeatureRenderer(new FeatureRenderer(ap));
+ this.ap = ap;
}
}
try
{
String outputFile = getOutputFile();
- String jalviewAlignmentJson = JSONFile.getJSONData(av);
+ String jalviewAlignmentJson = JSONFile.getJSONData(ap);
String bioJSTemplateString = getBioJsTemplateAsString();
String generatedBioJsWithJalviewAlignmentAsJson = bioJSTemplateString
.replaceAll(
import jalview.analysis.SequenceIdMatcher;
import jalview.datamodel.AlignedCodonFrame;
-import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.SequenceDummy;
import jalview.datamodel.SequenceFeature;
}
@Override
- public void addAnnotations(Alignment al)
+ public void addAnnotations(AlignmentI al)
{
super.addAnnotations(al);
}
@Override
- public void addProperties(Alignment al)
+ public void addProperties(AlignmentI al)
{
super.addProperties(al);
}
*/
package jalview.io;
+import jalview.api.AlignExportSettingI;
import jalview.api.AlignViewportI;
+import jalview.api.AlignmentViewPanel;
import jalview.util.MessageManager;
import java.io.BufferedReader;
public File inFile = null;
+ /**
+ * a viewport associated with the current file operation. May be null. May
+ * move to different object.
+ */
private AlignViewportI viewport;
- public int index = 1; // sequence counter for FileParse object created from
+ /**
+ * specific settings for exporting data from the current context
+ */
+ private AlignExportSettingI exportSettings;
- // same data source
+ /**
+ * sequence counter for FileParse object created from same data source
+ */
+ public int index = 1;
+ /**
+ * separator for extracting specific 'frame' of a datasource for formats that
+ * support multiple records (e.g. BLC, Stockholm, etc)
+ */
protected char suffixSeparator = '#';
/**
throw new IOException(MessageManager.formatMessage("exception.invalid_source_stream", new String[]{errormessage}));
}
+ /**
+ *
+ * @return true if this FileParse is configured for Export only
+ */
+ public boolean isExporting()
+ {
+ return !error && dataIn == null;
+ }
+
+ /**
+ *
+ * @return true if the data source is valid
+ */
public boolean isValid()
{
return !error;
{
this.viewport = viewport;
}
+
+ /**
+ * @return the currently configured exportSettings for writing data.
+ */
+ public AlignExportSettingI getExportSettings()
+ {
+ return exportSettings;
+ }
+
+ /**
+ * Set configuration for export of data.
+ *
+ * @param exportSettings
+ * the exportSettings to set
+ */
+ public void setExportSettings(AlignExportSettingI exportSettings)
+ {
+ this.exportSettings = exportSettings;
+ }
+
+ /**
+ * method overridden by complex file exporter/importers which support
+ * exporting visualisation and layout settings for a view
+ *
+ * @param avpanel
+ */
+ public void configureForView(AlignmentViewPanel avpanel)
+ {
+ if (avpanel!=null) {
+ setViewport(avpanel.getAlignViewport());
+ }
+ // could also set export/import settings
+ }
}
*/
package jalview.io;
-import jalview.api.AlignViewportI;
+import jalview.api.AlignExportSettingI;
+import jalview.api.AlignmentViewPanel;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
+import jalview.gui.AlignmentPanel;
/**
* Additional formatting methods used by the application in a number of places.
*/
public class FormatAdapter extends AppletFormatAdapter
{
- public FormatAdapter(AlignViewportI viewport)
+ public FormatAdapter(AlignmentViewPanel viewpanel)
{
- super(viewport);
+ super(viewpanel);
init();
}
init();
}
+ public FormatAdapter(AlignmentPanel alignPanel,
+ AlignExportSettingI settings)
+ {
+ super(alignPanel, settings);
+ }
+
private void init()
{
if (jalview.bin.Cache.getDefault("STRUCT_FROM_PDB", true))
return this.formatSequences(format, alignment, suffix);
}
- public Alignment readFile(String inFile, String type, String format)
+ public AlignmentI readFile(String inFile, String type, String format)
throws java.io.IOException
{
- Alignment al = super.readFile(inFile, type, format);
+ AlignmentI al = super.readFile(inFile, type, format);
return al;
}
public AlignmentI readFromFile(FileParse source, String format)
throws java.io.IOException
{
- Alignment al = (Alignment) super.readFromFile(source, format);
+ AlignmentI al = super.readFromFile(source, format);
return al;
}
}
/**
- * Create a flat file representation of a given view or selected region of a view
+ * Create a flat file representation of a given view or selected region of a
+ * view
+ *
* @param format
- * @param av
+ * @param ap
+ * alignment panel originating the view
* @return String containing flat file
*/
- public String formatSequences(String format, AlignViewportI av, boolean selectedOnly)
+ public String formatSequences(String format, AlignmentViewPanel ap,
+ boolean selectedOnly)
{
- return formatSequences(format, getCacheSuffixDefault(format), av, selectedOnly);
+ return formatSequences(format, getCacheSuffixDefault(format), ap,
+ selectedOnly);
}
}
@Override
- public void addProperties(Alignment al)
+ public void addProperties(AlignmentI al)
{
super.addProperties(al);
if (dataset.getCodonFrames() != null)
package jalview.io;
import java.io.IOException;
+import java.io.StringReader;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
{
try
{
- StringBuilder htmlData = new StringBuilder();
- String currentLine;
- while ((currentLine = nextLine()) != null)
- {
- htmlData.append(currentLine);
+ Element content = null;
+ Document doc = null;
+ try {
+ StringBuilder htmlData = new StringBuilder();
+ String currentLine;
+ while ((currentLine = nextLine()) != null)
+ {
+ htmlData.append(currentLine);
+ }
+
+ doc = Jsoup.parse(htmlData.toString());
+ } catch (OutOfMemoryError oom) {
+ errormessage = "Not enough memory to process HTML document";
+ throw new IOException(errormessage);
}
-
- Document doc = Jsoup.parse(htmlData.toString());
- Element content = doc.getElementById("seqData");
- String alignmentJsonString = content.val();
-
- JSONFile jsonFile = new JSONFile().parse(alignmentJsonString);
+ content = doc.getElementById("seqData");
+
+ JSONFile jsonFile = new JSONFile().parse(new StringReader(content.val()));
this.seqs = jsonFile.getSeqs();
this.seqGroups = jsonFile.getSeqGroups();
this.annotations = jsonFile.getAnnotations();
this.columnSelection = jsonFile.getColumnSelection();
} catch (Exception e)
{
- e.printStackTrace();
+ errormessage = "Failed to extract data from HTML document.";
+ throw new IOException("Unexpected exception whilst extracting JSon from HTML.",e);
}
}
package jalview.io;
+import jalview.api.FeatureRenderer;
import jalview.datamodel.SequenceI;
import jalview.gui.AlignViewport;
import jalview.gui.AlignmentPanel;
-import jalview.gui.AnnotationPanel;
-import jalview.gui.FeatureRenderer;
import jalview.gui.HTMLOptions;
import jalview.math.AlignmentDimension;
import jalview.util.MessageManager;
FeatureRenderer fr;
AlignmentPanel ap;
- AnnotationPanel annotationPanel;
public HtmlSvgOutput(File file, AlignmentPanel ap)
{
-
- this.av = ap.av;
- this.ap = ap;
- av.setFeatureRenderer(new FeatureRenderer(ap));
- this.annotationPanel = ap.getAnnotationPanel();
+ this.av = ap.av;
+ this.ap = ap;
+ fr = ap.cloneFeatureRenderer();
generateHtmlSvgOutput(file);
}
String titleSvgData = g1.getSVGDocument();
String alignSvgData = g2.getSVGDocument();
- String jsonData = JSONFile.getJSONData(av);
+ String jsonData = JSONFile.getJSONData(ap);
String htmlData = getHtml(titleSvgData, alignSvgData, jsonData);
out.write(htmlData.getBytes());
package jalview.io;
-import java.awt.Color;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.json.simple.JSONArray;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
-
-import jalview.api.AlignViewportI;
+import jalview.api.AlignmentViewPanel;
import jalview.api.ComplexAlignFile;
import jalview.api.FeatureRenderer;
import jalview.api.FeaturesDisplayedI;
import jalview.schemes.ColourSchemeI;
import jalview.schemes.ColourSchemeProperty;
+import java.awt.Color;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+
public class JSONFile extends AlignFile implements ComplexAlignFile
{
private ColourSchemeI colourScheme;
private FeatureRenderer fr;
- private JSONExportSettings jsonExportSettings;
-
private List<int[]> hiddenColumns;
private ColumnSelection columnSelection;
@Override
public void parse() throws IOException
{
- StringBuilder jsonStringBuilder = new StringBuilder();
- String currentLine;
- while ((currentLine = nextLine()) != null)
- {
- jsonStringBuilder.append(currentLine);
- }
- parse(jsonStringBuilder.toString());
+ parse(getReader());
}
-
@Override
public String print()
{
String jsonOutput = null;
try
{
- if (getJsonExportSettings() == null)
- {
- jsonExportSettings = new JSONExportSettings();
- jsonExportSettings.setExportAnnotations(true);
- jsonExportSettings.setExportGroups(true);
- jsonExportSettings.setExportJalviewSettings(true);
- jsonExportSettings.setExportSequenceFeatures(true);
- }
-
AlignmentPojo jsonAlignmentPojo = new AlignmentPojo();
- if (getViewport() != null)
- {
- globalColorScheme = ColourSchemeProperty
- .getColourName(getViewport()
- .getGlobalColourScheme());
- setDisplayedFeatures(getViewport().getFeaturesDisplayed());
- showSeqFeatures = getViewport().isShowSequenceFeatures();
- fr = getViewport().getFeatureRenderer();
- }
int count = 0;
for (SequenceI seq : seqs)
jsonAlignmentPojo.getSeqs().add(jsonSeqPojo);
}
- if (jsonExportSettings.isExportJalviewSettings())
+ jsonAlignmentPojo.setGlobalColorScheme(globalColorScheme);
+ jsonAlignmentPojo.getAppSettings().put("application", application);
+ jsonAlignmentPojo.getAppSettings().put("version", version);
+ jsonAlignmentPojo.getAppSettings().put("webStartUrl", webstartUrl);
+ jsonAlignmentPojo.getAppSettings().put("showSeqFeatures",
+ String.valueOf(showSeqFeatures));
+
+ String[] hiddenSections = getHiddenSections();
+ if (hiddenSections != null)
{
- jsonAlignmentPojo.setGlobalColorScheme(globalColorScheme);
- jsonAlignmentPojo.getAppSettings().put("application", application);
- jsonAlignmentPojo.getAppSettings().put("version", version);
- jsonAlignmentPojo.getAppSettings().put("webStartUrl", webstartUrl);
- jsonAlignmentPojo.getAppSettings().put("showSeqFeatures",
- String.valueOf(showSeqFeatures));
-
- String[] hiddenSections = exportHiddenSections();
- if (hiddenSections != null && getViewport().isIncludeHiddenRegion())
+ if (hiddenSections[0] != null
+ && getExportSettings()
+ .isExportHiddenColumns())
{
- if (hiddenSections[0] != null)
- {
- jsonAlignmentPojo.getAppSettings().put("hiddenCols",
- String.valueOf(hiddenSections[0]));
- }
- if (hiddenSections[1] != null)
- {
- jsonAlignmentPojo.getAppSettings().put("hiddenSeqs",
- String.valueOf(hiddenSections[1]));
- }
+ jsonAlignmentPojo.getAppSettings().put("hiddenCols",
+ String.valueOf(hiddenSections[0]));
+ }
+ if (hiddenSections[1] != null
+ && getExportSettings()
+ .isExportHiddenSequences())
+ {
+ jsonAlignmentPojo.getAppSettings().put("hiddenSeqs",
+ String.valueOf(hiddenSections[1]));
}
}
- if (jsonExportSettings.isExportAnnotations())
+ if (getExportSettings().isExportAnnotations())
{
jsonAlignmentPojo
.setAlignAnnotation(annotationToJsonPojo(annotations));
}
- if (jsonExportSettings.isExportSequenceFeatures())
+ if (getExportSettings().isExportFeatures())
{
jsonAlignmentPojo
.setSeqFeatures(sequenceFeatureToJsonPojo(seqs, fr));
}
- if (jsonExportSettings.isExportGroups() && seqGroups != null
+ if (getExportSettings().isExportGroups()
+ && seqGroups != null
&& seqGroups.size() > 0)
{
for (SequenceGroup seqGrp : seqGroups)
return jsonOutput;
}
- public String[] exportHiddenSections()
+ public String[] getHiddenSections()
{
String[] hiddenSections = new String[2];
if (getViewport() == null)
}
@SuppressWarnings("unchecked")
- public JSONFile parse(String jsonAlignmentString)
+ public JSONFile parse(Reader jsonAlignmentString)
{
try
{
this.displayedFeatures = displayedFeatures;
}
- public JSONExportSettings getJsonExportSettings()
- {
- return jsonExportSettings;
- }
-
- public void setJsonExportSettings(JSONExportSettings jsonExportSettings)
+ @Override
+ public void configureForView(AlignmentViewPanel avpanel)
{
- this.jsonExportSettings = jsonExportSettings;
- }
-
+ super.configureForView(avpanel);
+ if (isExporting())
+ {
+ setViewport(avpanel.getAlignViewport());
+ seqGroups = avpanel.getAlignment().getGroups();
+ setDisplayedFeatures(getViewport().getFeaturesDisplayed());
+ fr = avpanel.cloneFeatureRenderer();
- public static String getJSONData(AlignViewportI av)
- {
- JSONFile jsonFile = new JSONFile();
- jsonFile.setViewport(av);
- jsonFile.seqGroups = av.getAlignment().getGroups();
- jsonFile.setDisplayedFeatures(av.getFeaturesDisplayed());
+ for (SequenceI seq : getViewport().getAlignment().getSequences())
+ {
+ seqs.add(seq);
+ }
- for (SequenceI seq : av.getAlignment().getSequences())
- {
- jsonFile.seqs.add(seq);
- }
-
- // Add non auto calculated annotation to AlignFile
- for (AlignmentAnnotation annot : av.getAlignment()
- .getAlignmentAnnotation())
- {
- if (annot != null && !annot.autoCalculated)
+ // Add non auto calculated annotation to AlignFile
+ for (AlignmentAnnotation annot : getViewport().getAlignment()
+ .getAlignmentAnnotation())
{
- if (annot.label.equals("PDB.CATempFactor"))
+ if (annot != null && !annot.autoCalculated)
{
- continue;
+ if (annot.label.equals("PDB.CATempFactor"))
+ {
+ continue;
+ }
+ annotations.add(annot);
}
- jsonFile.annotations.add(annot);
}
+
+ globalColorScheme = ColourSchemeProperty.getColourName(getViewport()
+ .getGlobalColourScheme());
+ setDisplayedFeatures(getViewport().getFeaturesDisplayed());
+ showSeqFeatures = getViewport().isShowSequenceFeatures();
}
+ }
+
+
+ public static String getJSONData(AlignmentViewPanel av)
+ {
+ JSONFile jsonFile = new JSONFile();
+ jsonFile.configureForView(av);
String jsonString = jsonFile.print();
return jsonString;
}
--- /dev/null
+package jalview.jbgui;
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JPanel;
+
+@SuppressWarnings("serial")
+public abstract class GAlignExportSettings extends JPanel
+{
+ protected JPanel hiddenRegionConfPanel = new JPanel();
+
+ protected JPanel complexExportPanel = new JPanel();
+
+ protected JPanel optionsPanel = new JPanel();
+
+ protected JPanel actionPanel = new JPanel();
+
+ protected BorderLayout hiddenRegionLayout = new BorderLayout();
+
+ protected BorderLayout complexExportLayout = new BorderLayout();
+
+ protected BorderLayout mainLayout = new BorderLayout();
+
+ protected JCheckBox chkAll = new JCheckBox("Check All");
+
+ protected JCheckBox chkHiddenSeqs = new JCheckBox(
+ "Export Hidden Sequences");
+
+ protected JCheckBox chkHiddenCols = new JCheckBox("Export Hidden Columns");
+
+ protected JCheckBox chkExportAnnots = new JCheckBox("Export Annotations");
+
+ protected JCheckBox chkExportFeats = new JCheckBox("Export Features");
+
+ protected JCheckBox chkExportGrps = new JCheckBox("Export Groups");
+
+ JButton btnOk = new JButton("Ok");
+
+ JButton btnCancel = new JButton("Cancel");
+
+ private boolean hasHiddenSeq, hasHiddenCols, isComplexAlignFile;
+
+ boolean isComplexFormat = false;
+
+ public GAlignExportSettings(boolean hasHiddenSeq, boolean hasHiddenCols,
+ String alignFileFormat)
+ {
+ this.hasHiddenSeq = hasHiddenSeq;
+ this.hasHiddenCols = hasHiddenCols;
+ String[] complexFormats =
+ { "JSON", "HTML" };
+
+ for (String format : complexFormats)
+ {
+ if (format.equalsIgnoreCase(alignFileFormat))
+ {
+ this.isComplexAlignFile = true;
+ break;
+ }
+ }
+
+ init();
+ }
+
+ public void init()
+ {
+ hiddenRegionConfPanel.setLayout(hiddenRegionLayout);
+ complexExportPanel.setLayout(complexExportLayout);
+ setLayout(mainLayout);
+
+ chkAll.addItemListener(new ItemListener()
+ {
+ public void itemStateChanged(ItemEvent e)
+ {
+ checkAllAction();
+ }
+ });
+
+ btnOk.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ ok_actionPerformed(e);
+ }
+ });
+
+ btnCancel.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ cancel_actionPerformed(e);
+ }
+ });
+
+ hiddenRegionConfPanel.add(chkAll, BorderLayout.NORTH);
+ hiddenRegionConfPanel.add(chkHiddenSeqs, BorderLayout.CENTER);
+ hiddenRegionConfPanel.add(chkHiddenCols, BorderLayout.SOUTH);
+ chkHiddenSeqs.setEnabled(hasHiddenSeq);
+ chkHiddenCols.setEnabled(hasHiddenCols);
+
+ complexExportPanel.add(chkExportAnnots, BorderLayout.NORTH);
+ complexExportPanel.add(chkExportFeats, BorderLayout.CENTER);
+ complexExportPanel.add(chkExportGrps, BorderLayout.SOUTH);
+
+ if (hasHiddenSeq || hasHiddenCols)
+ {
+ optionsPanel.add(hiddenRegionConfPanel);
+ }
+
+ if (isComplexAlignFile)
+ {
+ optionsPanel.add(complexExportPanel);
+ }
+ actionPanel.add(btnCancel);
+ actionPanel.add(btnOk);
+
+ add(optionsPanel, BorderLayout.NORTH);
+ add(actionPanel, BorderLayout.SOUTH);
+
+ }
+
+
+
+ private void checkAllAction()
+ {
+ boolean isSelected = chkAll.isSelected();
+ chkHiddenSeqs.setSelected(chkHiddenSeqs.isEnabled() && isSelected);
+ chkHiddenCols.setSelected(chkHiddenCols.isEnabled() && isSelected);
+ chkExportAnnots.setSelected(isComplexAlignFile
+ && chkExportAnnots.isEnabled() && isSelected);
+ chkExportFeats.setSelected(isComplexAlignFile
+ && chkExportFeats.isEnabled() && isSelected);
+ chkExportGrps.setSelected(isComplexAlignFile
+ && chkExportGrps.isEnabled() && isSelected);
+ }
+
+ public abstract void ok_actionPerformed(ActionEvent e);
+
+ public abstract void cancel_actionPerformed(ActionEvent e);
+}
*/
package jalview.jbgui;
-import jalview.datamodel.Alignment;
+import jalview.datamodel.AlignmentI;
import jalview.io.FormatAdapter;
import jalview.util.MessageManager;
public void run()
{
String str = textfield.getText();
- Alignment al = null;
+ AlignmentI al = null;
try
{
al = new FormatAdapter().readFile(str, "Paste", "FASTA");
*/
package jalview.viewmodel;
-import java.awt.Color;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.BitSet;
-import java.util.Deque;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
import jalview.analysis.Conservation;
import jalview.api.AlignCalcManagerI;
import jalview.workers.ConsensusThread;
import jalview.workers.StrucConsensusThread;
+import java.awt.Color;
+import java.util.ArrayDeque;
+import java.util.ArrayList;
+import java.util.BitSet;
+import java.util.Deque;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* base class holding visualization and analysis attributes and common logic for
* an active alignment view displayed in the GUI
// hasHiddenColumns = colSel.hasHiddenColumns();
}
- protected boolean hasHiddenRows = false;
-
@Override
public boolean hasHiddenRows()
{
- return hasHiddenRows;
+ return alignment.getHiddenSequences().getSize() > 0;
}
- public void setHasHiddenRows(boolean hasHiddenRows)
- {
- this.hasHiddenRows = hasHiddenRows;
- }
protected SequenceGroup selectionGroup;
setSequenceAnnotationsVisible(seq, true);
}
- hasHiddenRows = false;
hiddenRepSequences = null;
firePropertyChange("alignment", null, alignment.getSequences());
selectionGroup.addSequence(seq, false);
setSequenceAnnotationsVisible(seq, true);
}
- // JBPNote: refactor: only update flag if we modified visiblity (used to
- // do this regardless)
- if (alignment.getHiddenSequences().getSize() < 1)
- {
- hasHiddenRows = false;
- }
firePropertyChange("alignment", null, alignment.getSequences());
sendSelection();
}
alignment.getHiddenSequences().hideSequence(seq[i]);
setSequenceAnnotationsVisible(seq[i], false);
}
- hasHiddenRows = true;
firePropertyChange("alignment", null, alignment.getSequences());
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
+
import jalview.ws.seqfetcher.DbSourceProxyImpl;
public abstract class EbiFileRetrievedProxy extends DbSourceProxyImpl
public StringBuffer getRawRecords()
{
if (file == null)
+ {
return null;
+ }
StringBuffer bf = null;
try
{
*/
package jalview.ws.dbsources;
-import java.io.File;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.Vector;
-
-import org.exolab.castor.xml.Unmarshaller;
-
-import com.stevesoft.pat.Regex;
-
-import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.DBRefEntry;
import jalview.datamodel.DBRefSource;
import jalview.ws.seqfetcher.DbSourceProxy;
import jalview.ws.seqfetcher.DbSourceProxyImpl;
+import java.io.File;
+import java.io.FileReader;
+import java.io.Reader;
+import java.util.Vector;
+
+import org.exolab.castor.xml.Unmarshaller;
+
+import com.stevesoft.pat.Regex;
+
/**
* @author JimP
*
{
queries = queries.toUpperCase().replaceAll(
"(UNIPROT\\|?|UNIPROT_|UNIREF\\d+_|UNIREF\\d+\\|?)", "");
- Alignment al = null;
+ AlignmentI al = null;
EBIFetchClient ebi = new EBIFetchClient();
// uniprotxml parameter required since december 2007
// uniprotkb dbname changed introduced december 2008
* @param entries
* a list of n uniprot entries to be analysed.
*/
- public void addUniprotXrefs(Alignment al, Vector<UniprotEntry> entries)
+ public void addUniprotXrefs(AlignmentI al, Vector<UniprotEntry> entries)
{
final String dbVersion = getDbVersion();
import jalview.bin.Cache;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentView;
import jalview.datamodel.ColumnSelection;
import jalview.datamodel.SequenceI;
{
return null;
}
- Alignment al = null;
+ AlignmentI al = null;
ColumnSelection alcsel = null;
int FirstSeq = -1; // the position of the query sequence in Alignment al
* @param al
* @param profileseq
*/
- private void alignToProfileSeq(Alignment al, SequenceI profileseq)
+ private void alignToProfileSeq(AlignmentI al, SequenceI profileseq)
{
char gc = al.getGapCharacter();
int[] gapMap = profileseq.gapMap();
*/
package jalview.ws.seqfetcher;
-import jalview.datamodel.Alignment;
+import jalview.datamodel.AlignmentI;
import jalview.io.FormatAdapter;
import jalview.io.IdentifyFile;
* @return null or a valid alignment
* @throws Exception
*/
- protected Alignment parseResult(String result) throws Exception
+ protected AlignmentI parseResult(String result) throws Exception
{
- Alignment sequences = null;
+ AlignmentI sequences = null;
String format = new IdentifyFile().Identify(result, "Paste");
if (FormatAdapter.isValidFormat(format))
{
package MCview;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.testng.AssertJUnit.assertEquals;
-import org.junit.Test;
+import org.testng.Assert;
+import org.testng.annotations.Test;
public class AtomTest
{
{
new Atom(
"ATOM 34N NE2 GLN A 48 22.290 8.595 17.680 1.00 14.30 N");
- fail("Expected exception");
+ Assert.fail("Expected exception");
} catch (NumberFormatException e)
{
// expected
package MCview;
-import static org.junit.Assert.assertEquals;
+import static org.testng.AssertJUnit.assertEquals;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class BondTest
{
package MCview;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import java.awt.Color;
-import java.util.Vector;
-
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertSame;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.analysis.AlignSeq;
import jalview.datamodel.AlignmentAnnotation;
import jalview.schemes.ColourSchemeI;
import jalview.schemes.TaylorColourScheme;
+import java.awt.Color;
+import java.util.Vector;
+
+import org.testng.annotations.Test;
+
public class PDBChainTest
{
PDBChain c = new PDBChain("1GAQ", "A");
+
Atom a1 = new Atom(1f, 2f, 3f);
Atom a2 = new Atom(5f, 6f, 4f);
package MCview;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertNull;
+import static org.testng.AssertJUnit.assertSame;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import java.io.IOException;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class PDBfileTest
{
*
* @throws IOException
*/
- @Test
- @Ignore
+
+ @Test(enabled = false)
public void testParse_withAnnotate3D() throws IOException
{
// TODO requires a mock for Annotate3D processing
package MCview;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
+import static org.testng.AssertJUnit.assertNull;
+import static org.testng.AssertJUnit.assertSame;
import java.util.Vector;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class ResidueTest
{
package com.stevesoft.pat;
-import static org.junit.Assert.assertEquals;
+import static org.testng.AssertJUnit.assertEquals;
import java.io.IOException;
import java.io.StringWriter;
-import org.junit.Test;
+import org.testng.annotations.Test;
/**
* Test class refactored from RegexWriter main method
package jalview.analysis;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
+
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceI;
import java.util.Hashtable;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class AAFrequencyTest
{
package jalview.analysis;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
+
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.Annotation;
+import jalview.datamodel.SequenceI;
+import jalview.io.AppletFormatAdapter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import org.junit.Before;
-import org.junit.Test;
-
-import jalview.datamodel.AlignmentAnnotation;
-import jalview.datamodel.AlignmentI;
-import jalview.datamodel.Annotation;
-import jalview.datamodel.SequenceI;
-import jalview.io.AppletFormatAdapter;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
public class AlignmentAnnotationUtilsTest
{
*
* @throws IOException
*/
- @Before
+ @BeforeMethod
public void setUp() throws IOException
{
alignment = new jalview.io.FormatAdapter().readFile(TEST_DATA,
*/
package jalview.analysis;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertNull;
+import static org.testng.AssertJUnit.assertSame;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.datamodel.AlignedCodonFrame;
import jalview.datamodel.Alignment;
import jalview.util.MapList;
import jalview.util.MappingUtils;
-public class AlignmentUtilsTests
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.testng.annotations.Test;
+
+public class AlignmentUtilsTests
{
// @formatter:off
private static final String TEST_DATA =
*/
protected AlignmentI loadAlignment(final String data, String format) throws IOException
{
- Alignment a = new FormatAdapter().readFile(data,
+ AlignmentI a = new FormatAdapter().readFile(data,
AppletFormatAdapter.PASTE, format);
a.setDataset(null);
return a;
package jalview.analysis;
-import static org.junit.Assert.assertEquals;
+import static org.testng.AssertJUnit.assertEquals;
+
import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
import java.util.List;
import java.util.Random;
-import org.junit.Before;
-import org.junit.Test;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
public class AnnotationSorterTest
{
/*
* Set up 6 sequences and 7 annotations.
*/
- @Before
+ @BeforeMethod
public void setUp()
{
al = buildAlignment(NUM_SEQS);
package jalview.analysis;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
import java.util.Arrays;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class CodingUtilsTest
{
package jalview.analysis;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertSame;
import jalview.datamodel.DBRefEntry;
+import org.testng.annotations.Test;
+
public class CrossRefTest
{
@Test
package jalview.analysis;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.api.AlignViewportI;
import jalview.datamodel.AlignedCodon;
import jalview.datamodel.Alignment;
import java.io.IOException;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class DnaTest
{
import java.util.ArrayList;
import java.util.Arrays;
-import org.junit.Assert;
-import org.junit.Test;
+import org.testng.AssertJUnit;
+import org.testng.annotations.Test;
public class GroupingTest
{
alignment.getSequencesArray(), cs,
Arrays.asList(new SequenceGroup[]
{ sg1, sg2 }));
- Assert.assertEquals(seqgroupsString.length, seqgroupsColSel.length);
+ AssertJUnit.assertEquals(seqgroupsString.length, seqgroupsColSel.length);
for (int p = 0; p < seqgroupsString.length; p++)
{
- Assert.assertEquals(seqgroupsString[p].getName(),
+ AssertJUnit.assertEquals(seqgroupsString[p].getName(),
seqgroupsColSel[p].getName());
- Assert.assertArrayEquals(
+ AssertJUnit.assertArrayEquals(
seqgroupsString[p].getSequencesInOrder(alignment),
seqgroupsColSel[p].getSequencesInOrder(alignment));
if (seqgroupsString[p].getSequences().contains(s2))
{
- Assert.assertTrue(seqgroupsString[p].getSize() == 2);
+ AssertJUnit.assertTrue(seqgroupsString[p].getSize() == 2);
}
}
}
package jalview.analysis;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
-import java.util.List;
-
-import org.junit.Before;
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceI;
+import java.util.List;
+
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
public class ParsePropertiesTest
{
/**
* Construct an alignment with 4 sequences with varying description format
*/
- @Before
+ @BeforeMethod
public void setUp()
{
SequenceI[] seqs = new SequenceI[]
*/
package jalview.analysis;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
-import java.io.PrintStream;
-
-import org.junit.Before;
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
import jalview.datamodel.Mapping;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceI;
+import java.io.PrintStream;
+
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
/**
* Test the alignment -> Mapping routines
*
/**
* @throws java.lang.Exception
*/
- @Before
+ @BeforeMethod
public void setUp() throws Exception
{
s1 = new Sequence("Seq1", "ASDFAQQQRRRSSS");
import jalview.io.FileLoader;
import jalview.io.FormatAdapter;
-import org.junit.Assert;
-import org.junit.Test;
+import org.testng.AssertJUnit;
+import org.testng.annotations.Test;
public class FeatureScoreModelTest
{
AlignFrame alf = new FileLoader(false).LoadFileWaitTillLoaded(alntestFile,
FormatAdapter.PASTE);
AlignmentI al = alf.getViewport().getAlignment();
- Assert.assertEquals(4, al.getHeight());
- Assert.assertEquals(5, al.getWidth());
+ AssertJUnit.assertEquals(4, al.getHeight());
+ AssertJUnit.assertEquals(5, al.getWidth());
for (int i = 0; i < 4; i++)
{
SequenceI ds = al.getSequenceAt(i).getDatasetSequence();
alf.getFeatureRenderer().setVisible("sf2");
alf.getFeatureRenderer().setVisible("sf3");
alf.getFeatureRenderer().findAllFeatures(true);
- Assert.assertEquals("Number of feature types", 3, alf
+ AssertJUnit.assertEquals("Number of feature types", 3, alf
.getFeatureRenderer().getDisplayedFeatureTypes().length);
- Assert.assertTrue(alf.getCurrentView().areFeaturesDisplayed());
+ AssertJUnit.assertTrue(alf.getCurrentView().areFeaturesDisplayed());
FeatureScoreModel fsm = new FeatureScoreModel();
- Assert.assertTrue(fsm.configureFromAlignmentView(alf.getCurrentView()
+ AssertJUnit.assertTrue(fsm.configureFromAlignmentView(alf.getCurrentView()
.getAlignPanel()));
alf.selectAllSequenceMenuItem_actionPerformed(null);
float[][] dm = fsm.findDistances(alf.getViewport().getAlignmentView(
true));
- Assert.assertTrue("FER1_MESCR should be identical with RAPSA (2)",
+ AssertJUnit.assertTrue("FER1_MESCR should be identical with RAPSA (2)",
dm[0][2] == 0f);
- Assert.assertTrue(
+ AssertJUnit.assertTrue(
"FER1_MESCR should be further from SPIOL (1) than it is from RAPSA (2)",
dm[0][1] > dm[0][2]);
*/
package jalview.bin;
-import static org.junit.Assert.*;
-
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.testng.Assert;
+import org.testng.AssertJUnit;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
public class CommandLineOperations
{
System.out.println("Testing with Headless argument: '" + harg
+ "'\n");
Worker worker = jalviewDesktopRunner(withAwt, cmd, 9000);
- assertTrue("Didn't create an output EPS file.[" + harg + "]",
- new File("test_uniref50_out.eps").exists());
- assertTrue("Didn't create an EPS file with any content[" + harg
- + "]", new File("test_uniref50_out.eps").length() > 4096);
+ AssertJUnit.assertTrue("Didn't create an output EPS file.[" + harg
+ + "]", new File("test_uniref50_out.eps").exists());
+ AssertJUnit.assertTrue(
+ "Didn't create an EPS file with any content[" + harg + "]",
+ new File("test_uniref50_out.eps").length() > 4096);
if (worker.exit == null)
{
worker.interrupt();
Thread.currentThread().interrupt();
worker.process.destroy();
- fail("Jalview did not exit after EPS generation (try running test again to verify - timeout at 9000ms). ["
+ Assert.fail("Jalview did not exit after EPS generation (try running test again to verify - timeout at 9000ms). ["
+ harg + "]");
}
} while (!withAwt);
package jalview.commands;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertSame;
+
import jalview.commands.EditCommand.Action;
import jalview.commands.EditCommand.Edit;
import jalview.datamodel.Alignment;
import java.util.Map;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
/**
* Unit tests for EditCommand
private Alignment al;
- @Before
+ @BeforeMethod
public void setUp()
{
testee = new EditCommand();
/**
* Test a Paste action, where this adds sequences to an alignment.
*/
- @Test
- @Ignore
+ @Test(enabled = false)
// TODO fix so it works
public void testPaste_addToAlignment()
{
package jalview.datamodel;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
+
import jalview.util.MapList;
import java.util.Arrays;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class AlignedCodonFrameTest
{
package jalview.datamodel;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.fail;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+
import jalview.util.MapList;
import java.util.Iterator;
-import org.junit.Test;
+import org.testng.Assert;
+import org.testng.annotations.Test;
/**
* Unit tests for Mapping$AlignedCodonIterator
try
{
codon = codons.next();
- fail("expected exception");
+ Assert.fail("expected exception");
} catch (IncompleteCodonException e)
{
// expected
package jalview.datamodel;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class AlignedCodonTest
{
package jalview.datamodel;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
import jalview.analysis.AlignSeq;
import jalview.io.AppletFormatAdapter;
+import org.testng.annotations.Test;
+
public class AlignmentAnnotationTests
{
@Test
package jalview.datamodel;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.io.AppletFormatAdapter;
import jalview.io.FormatAdapter;
import jalview.util.MapList;
import java.io.IOException;
import java.util.Iterator;
-import org.junit.Before;
-import org.junit.Test;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
/**
* Unit tests for Alignment datamodel.
protected AlignmentI loadAlignment(final String data, String format)
throws IOException
{
- Alignment a = new FormatAdapter().readFile(data,
+ AlignmentI a = new FormatAdapter().readFile(data,
AppletFormatAdapter.PASTE, format);
a.setDataset(null);
return a;
* Read in Stockholm format test data including secondary structure
* annotations.
*/
- @Before
+ @BeforeMethod
public void setUp() throws IOException
{
al = loadAlignment(TEST_DATA, "STH");
package jalview.datamodel;
-import static org.junit.Assert.assertEquals;
+import static org.testng.AssertJUnit.assertEquals;
import java.util.List;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class ColumnSelectionTest
{
package jalview.datamodel;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.util.MapList;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class DBRefEntryTest
{
package jalview.datamodel;
-import static org.junit.Assert.assertEquals;
+import static org.testng.AssertJUnit.assertEquals;
-import java.util.Arrays;
+import jalview.util.MapList;
-import org.junit.Test;
+import java.util.Arrays;
-import jalview.util.MapList;
+import org.testng.annotations.Test;
/**
* Test class refactored from main method
package jalview.datamodel;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertTrue;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
public class PDBEntryTest
{
- @Before
+ @BeforeMethod
public void setUp() throws Exception
{
}
- @After
+ @AfterMethod
public void tearDown() throws Exception
{
}
package jalview.datamodel;
-import static org.junit.Assert.assertEquals;
+import static org.testng.AssertJUnit.assertEquals;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class SearchResultsTest
{
package jalview.datamodel;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
-import org.junit.Test;
+import org.testng.annotations.Test;
/**
* Unit tests for SeqCigar
* String
* @return String
*/
+
+
protected void testCigar_string(Sequence seq, String ex_cs_gapped)
{
SeqCigar c_sgapped = new SeqCigar(seq);
cs_gapped);
}
+
protected void testSeqRecovery(SeqCigar gen_sgapped,
SequenceI s_gapped)
{
package jalview.datamodel;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
+import static org.testng.AssertJUnit.assertSame;
+import static org.testng.AssertJUnit.assertTrue;
import java.util.Arrays;
import java.util.List;
-import org.junit.Before;
-import org.junit.Test;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
public class SequenceTest
{
SequenceI seq;
- @Before
+ @BeforeMethod
public void setUp()
{
seq = new Sequence("FER1", "AKPNGVL");
package jalview.datamodel.xdb.embl;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertNull;
+import static org.testng.AssertJUnit.assertTrue;
+
+import jalview.datamodel.DBRefEntry;
import java.io.StringReader;
import java.util.Vector;
-import org.junit.Test;
-
-import jalview.datamodel.DBRefEntry;
+import org.testng.annotations.Test;
public class EmblFileTest
{
*/
package jalview.ext.jmol;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Vector;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import MCview.PDBfile;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.bin.Cache;
import jalview.datamodel.Alignment;
import jalview.io.AppletFormatAdapter;
import jalview.io.FileLoader;
+import java.util.Vector;
+
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import MCview.PDBfile;
+
/**
* @author jimp
*
// "./examples/DNMT1_MOUSE.pdb"
// };
- @Before
+ @BeforeMethod
public void setUp()
{
Cache.applicationProperties.setProperty("STRUCT_FROM_PDB",
*/
package jalview.ext.paradise;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertTrue;
+
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.SequenceI;
+import jalview.io.FastaFile;
+import jalview.io.FormatAdapter;
import java.io.BufferedReader;
import java.io.File;
import java.io.Reader;
import java.util.Iterator;
-import org.junit.Assert;
-import org.junit.Test;
+import org.testng.Assert;
+import org.testng.AssertJUnit;
+import org.testng.annotations.Test;
import MCview.PDBfile;
-import compbio.util.FileUtil;
-import jalview.datamodel.AlignmentI;
-import jalview.datamodel.SequenceI;
-import jalview.io.FastaFile;
-import jalview.io.FormatAdapter;
+import compbio.util.FileUtil;
public class TestAnnotate3D
{
- @Test
+ @Test(enabled = false)
public void test1GIDbyId() throws Exception
{
// use same ID as standard tests given at
testRNAMLcontent(ids, null);
}
- @Test
+ @Test(enabled = false)
public void testIdVsContent2GIS() throws Exception
{
Iterator<Reader> ids = Annotate3D.getRNAMLForPDBId("2GIS");
*
* @throws Exception
*/
- @Test
+ @Test(enabled = false)
public void testPDBfileVsRNAML() throws Exception
{
PDBfile pdbf = new PDBfile(true, false, true, "examples/2GIS.pdb",
testRNAMLcontent(readers, pdbf);
}
+ @Test(enabled = false)
private void testRNAMLcontent(Iterator<Reader> readers, PDBfile pdbf)
throws Exception
{
}
if (struseq == null)
{
- Assert.fail("Couldn't find this sequence in original input:\n"
+ AssertJUnit.fail("Couldn't find this sequence in original input:\n"
+ new FastaFile().print(new SequenceI[]
{ sq })
+ "\n\nOriginal input:\n"
package jalview.ext.rbvi.chimera;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
import java.awt.Color;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class ChimeraCommandsTest
{
package jalview.ext.rbvi.chimera;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
-import org.junit.Test;
+import org.testng.annotations.Test;
import ext.edu.ucsf.rbvi.strucviz2.ChimeraManager;
import ext.edu.ucsf.rbvi.strucviz2.StructureManager;
package jalview.ext.rbvi.chimera;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.api.structures.JalviewStructureDisplayI;
import jalview.datamodel.SequenceI;
import jalview.gui.StructureViewer.ViewerType;
import jalview.io.FormatAdapter;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
public class JalviewChimeraView
{
package jalview.gui;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-
-import org.junit.Before;
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertSame;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceI;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
public class AlignViewportTest
{
AlignmentI al;
AlignViewport testee;
- @Before
+ @BeforeMethod
public void setUp()
{
SequenceI seq1 = new Sequence("Seq1", "ABC");
package jalview.gui;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
+
+import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
+import jalview.bin.Cache;
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.Annotation;
+import jalview.datamodel.SequenceGroup;
+import jalview.datamodel.SequenceI;
+import jalview.io.AppletFormatAdapter;
+import jalview.util.MessageManager;
import java.awt.BorderLayout;
import java.awt.Checkbox;
import javax.swing.JButton;
import javax.swing.JPanel;
-import org.junit.Before;
-import org.junit.Test;
-
-import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
-import jalview.bin.Cache;
-import jalview.datamodel.AlignmentAnnotation;
-import jalview.datamodel.AlignmentI;
-import jalview.datamodel.Annotation;
-import jalview.datamodel.SequenceGroup;
-import jalview.datamodel.SequenceI;
-import jalview.io.AppletFormatAdapter;
-import jalview.util.MessageManager;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
/**
* Unit tests for AnnotationChooser
AlignFrame af;
- @Before
+ @BeforeMethod
public void setUp() throws IOException
{
// pin down annotation sort order for test
import java.awt.Font;
import java.awt.FontMetrics;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class FontChooserTest
{
package jalview.gui;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.gui.Help.HelpId;
import java.net.URL;
import javax.help.HelpSetException;
import javax.help.Map;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class HelpTest
{
import javax.swing.JMenuItem;
import javax.swing.JTextArea;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
public class JAL1353bugdemo
{
volatile boolean finish = false;
- @Test
- @Ignore
- // comment out @Ignore to enable this test
+ @Test(enabled = false)
public void test()
{
Cache.initLogger();
package jalview.gui;
-import static org.junit.Assert.assertEquals;
+import static org.testng.AssertJUnit.assertEquals;
import javax.swing.JScrollBar;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class JvSwingUtilsTest
{
package jalview.gui;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
import javax.swing.JInternalFrame;
import javax.swing.JTextField;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
public class PDBSearchPanelTest
{
- @Before
+ @BeforeMethod
public void setUp() throws Exception
{
}
- @After
+ @AfterMethod
public void tearDown() throws Exception
{
}
package jalview.gui;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertSame;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.datamodel.Alignment;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceI;
import javax.swing.JPanel;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
public class PaintRefresherTest
{
// TODO would prefer PaintRefresher to be a single rather than static
- @Before
+ @BeforeMethod
public void setUp()
{
PaintRefresher.components.clear();
}
- @After
+ @AfterMethod
public void tearDown()
{
PaintRefresher.components.clear();
package jalview.gui;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
+
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.Annotation;
+import jalview.datamodel.SequenceI;
+import jalview.io.AppletFormatAdapter;
+import jalview.io.FormatAdapter;
import java.awt.Component;
import java.io.IOException;
import javax.swing.JPopupMenu;
import javax.swing.JSeparator;
-import org.junit.Before;
-import org.junit.Test;
-
-import jalview.datamodel.AlignmentAnnotation;
-import jalview.datamodel.AlignmentI;
-import jalview.datamodel.Annotation;
-import jalview.datamodel.SequenceI;
-import jalview.io.AppletFormatAdapter;
-import jalview.io.FormatAdapter;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
public class PopupMenuTest
{
PopupMenu testee = null;
- @Before
+ @BeforeMethod
public void setUp() throws IOException
{
alignment = new FormatAdapter().readFile(TEST_DATA,
testee.configureReferenceAnnotationsMenu(menu, seqs);
assertTrue(menu.isEnabled());
- String expected = "<html><table width=350 border=0><tr><td>Add annotations for<br/>JMOL/secondary structure<br/>PBD/Temp</td></tr></table></html>";
+ String expected = "<html><table width=350 border=0><tr><td align=justify>Add annotations for<br/>JMOL/secondary structure<br/>PBD/Temp</td></tr></table></html>";
assertEquals(expected, menu.getToolTipText());
}
testee.configureReferenceAnnotationsMenu(menu, seqs);
assertTrue(menu.isEnabled());
- String expected = "<html><table width=350 border=0><tr><td>Add annotations for<br/>JMOL/secondary structure<br/>PBD/Temp</td></tr></table></html>";
+ String expected = "<html><table width=350 border=0><tr><td align=justify>Add annotations for<br/>JMOL/secondary structure<br/>PBD/Temp</td></tr></table></html>";
assertEquals(expected, menu.getToolTipText());
}
package jalview.gui;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
import java.awt.Component;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
-import org.junit.Test;
+import org.testng.Assert;
+import org.testng.annotations.Test;
public class ProgressBarTest
{
try
{
new ProgressBar(null, null);
- fail("Expected exception");
+ Assert.fail("Expected exception");
} catch (NullPointerException e)
{
// expected
try
{
new ProgressBar(statusPanel, null);
- fail("expected exception");
+ Assert.fail("expected exception");
} catch (IllegalArgumentException e)
{
// expected
package jalview.gui;
-import static org.junit.Assert.assertEquals;
+import static org.testng.AssertJUnit.assertEquals;
+
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.Sequence;
import java.awt.Color;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class SequenceRendererTest
{
package jalview.gui;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.datamodel.DBRefEntry;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.Sequence;
import java.util.Vector;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
public class StructureChooserTest
{
Sequence seq;
- @Before
+ @BeforeMethod
public void setUp() throws Exception
{
seq = new Sequence("PDB|4kqy|4KQY|A", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 1,
seq.setPDBId(pdbIds);
}
- @After
+ @AfterMethod
public void tearDown() throws Exception
{
seq = null;
package jalview.io;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.bin.Cache;
import jalview.datamodel.AlignmentAnnotation;
import jalview.structure.StructureMapping;
import jalview.structure.StructureSelectionManager;
+import java.io.File;
+
+import org.junit.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
public class AnnotatedPDBFileInputTest
{
String pdbId;
- @Before
+ @BeforeMethod
public void setup() throws Exception
{
Cache.applicationProperties.setProperty("STRUCT_FROM_PDB",
{
for (int q = p + 1; q < avec.length; q++)
{
- assertNotEquals(
+ Assert.assertNotEquals(
"Found a duplicate annotation row " + avec[p].label,
avec[p], avec[q]);
}
*/
package jalview.io;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.datamodel.AlignmentI;
import jalview.datamodel.ColumnSelection;
import jalview.io.AnnotationFile.ViewDef;
import java.io.File;
import java.util.Hashtable;
-import org.junit.Test;
+import org.testng.Assert;
+import org.testng.annotations.Test;
public class AnnotationFileIOTest
{
{
e.printStackTrace();
}
- fail("Couln't read the alignment in file '" + f.toString() + "'");
+ Assert.fail("Couln't read the alignment in file '" + f.toString() + "'");
return null;
}
* - label for IO class used to write and read back in the data from
* f
*/
+
+ // @Test
public static void testAnnotationFileIO(String testname, File f,
File annotFile)
{
{
e.printStackTrace();
}
- fail("Test "
+ Assert.fail("Test "
+ testname
+ "\nCouldn't complete Annotation file roundtrip input/output/input test for '"
+ annotFile + "'.");
import java.net.URLConnection;
import java.util.TreeMap;
-import org.junit.Assert;
-import org.junit.Test;
+import org.testng.Assert;
+import org.testng.AssertJUnit;
+import org.testng.annotations.Test;
public class BioJsHTMLOutputTest
Assert.assertNotNull(bjsTemplate);
}
- @Test(expected = NullPointerException.class)
+ @Test(expectedExceptions = NullPointerException.class)
public void expectedNullPointerException()
{
try
BioJsHTMLOutput.refreshBioJSVersionsInfo(null);
} catch (URISyntaxException e)
{
- Assert.fail("Expception occured while testing!");
+ AssertJUnit.fail("Expception occured while testing!");
e.printStackTrace();
}
}
versions = BioJsHTMLOutput.getBioJsMSAVersions();
} catch (URISyntaxException e)
{
- Assert.fail("Expception occured while testing!");
+ AssertJUnit.fail("Expception occured while testing!");
e.printStackTrace();
}
- Assert.assertNotNull("No versions found", versions);
- Assert.assertTrue("One or more Templates required", versions.size() > 0);
+ AssertJUnit.assertNotNull("No versions found", versions);
+ AssertJUnit.assertTrue("One or more Templates required", versions.size() > 0);
System.out
.println("Number of discovered versions : "
+ versions.size());
System.out.println("\nCurrent latest version : "
+ BioJsHTMLOutput.getCurrentBJSTemplateFile());
- Assert.assertNotNull("Latest BioJsMSA version NOT found!",
+ AssertJUnit.assertNotNull("Latest BioJsMSA version NOT found!",
BioJsHTMLOutput.getCurrentBJSTemplateFile());
}
public void testBioJsUpdate()
{
String url = BioJsHTMLOutput.BJS_TEMPLATE_GIT_REPO;
- Assert.assertTrue("URL not reacable : " + url, urlIsReachable(url));
+ AssertJUnit.assertTrue("URL not reacable : " + url, urlIsReachable(url));
String response = BioJsHTMLOutput.getURLContentAsString(url);
- Assert.assertNotNull("Null response read from url!", response);
+ AssertJUnit.assertNotNull("Null response read from url!", response);
BioJSRepositoryPojo repository = new BioJSRepositoryPojo(response);
System.out.println(">>> description : " + repository.getDescription());
System.out
*/
package jalview.io;
-import static org.junit.Assert.*;
-
import java.io.File;
import java.io.IOException;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.testng.AssertJUnit;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
/**
* @author jimp
private void assertValidFormat(String fmt, String src, FileParse fp)
{
- assertTrue("Couldn't resolve " + src + " as a valid file", fp.isValid());
+ AssertJUnit.assertTrue("Couldn't resolve " + src + " as a valid file", fp.isValid());
String type = new IdentifyFile().Identify(fp);
- assertTrue("Data from '" + src + "' Expected to be '" + fmt
+ AssertJUnit.assertTrue("Data from '" + src + "' Expected to be '" + fmt
+ "' identified as '" + type + "'", type.equalsIgnoreCase(fmt));
}
public void simpleGff3FileLoader() throws IOException
{
AlignFrame af = new FileLoader(false).LoadFileWaitTillLoaded(
- simpleGff3file, null);
+ simpleGff3file, FormatAdapter.FILE);
Assert.assertTrue(
"Didn't read the alignment into an alignframe from Gff3 File",
af != null);
import static org.junit.Assert.fail;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class HtmlFileTest
{
- @Test
- @Ignore
+ @Test(enabled = false)
public void test()
{
fail("Not yet implemented");
package jalview.io;
-import static org.junit.Assert.assertNotNull;
-import jalview.datamodel.Alignment;
+import static org.testng.AssertJUnit.assertNotNull;
+
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.Annotation;
import java.util.ArrayList;
import java.util.HashMap;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.testng.AssertJUnit;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
public class JSONFileTest
{
HashMap<String, AlignmentAnnotation> testAnnots = new HashMap<String, AlignmentAnnotation>();
HashMap<String, SequenceGroup> testGrps = new HashMap<String, SequenceGroup>();
- @Before
+ @BeforeMethod
public void setup() throws Exception
{
// create and add sequences
TEST_ANOT_HEIGHT = testAnnots.size();
}
- @After
+ @AfterMethod
public void tearDown() throws Exception
{
}
{
String jsonFile = "examples/example.json";
AppletFormatAdapter rf = new AppletFormatAdapter();
- Alignment al = null;
+ AlignmentI al = null;
try
{
al = rf.readFile(jsonFile, AppletFormatAdapter.FILE,
for (SequenceI seq : al.getSequences())
{
SequenceI expectedSeq = testSeqs.get(seq.getName());
- Assert.assertTrue("Failed Sequence Test for >>> " + seq.getName(),
+ AssertJUnit.assertTrue("Failed Sequence Test for >>> " + seq.getName(),
isSeqMatched(expectedSeq, seq));
passedCount++;
}
- Assert.assertEquals("Some Sequences did not pass the test",
+ AssertJUnit.assertEquals("Some Sequences did not pass the test",
TEST_SEQ_HEIGHT, passedCount);
passedCount = 0;
for (SequenceGroup seqGrp : al.getGroups())
{
SequenceGroup expectedGrp = testGrps.get(seqGrp.getName());
- Assert.assertTrue(
+ AssertJUnit.assertTrue(
"Failed SequenceGroup Test for >>> " + seqGrp.getName(),
isGroupMatched(expectedGrp, seqGrp));
passedCount++;
}
- Assert.assertEquals("Some SequenceGroups did not pass the test",
+ AssertJUnit.assertEquals("Some SequenceGroups did not pass the test",
TEST_GRP_HEIGHT, passedCount);
passedCount = 0;
for (AlignmentAnnotation annot : al.getAlignmentAnnotation())
{
AlignmentAnnotation expectedAnnot = testAnnots.get(annot.label);
- Assert.assertTrue("Failed AlignmentAnnotation Test for >>> "
+ AssertJUnit.assertTrue("Failed AlignmentAnnotation Test for >>> "
+ annot.label, isAnnotationMatched(expectedAnnot, annot));
passedCount++;
}
- Assert.assertEquals("Some Sequences did not pass the test",
+ AssertJUnit.assertEquals("Some Sequences did not pass the test",
TEST_ANOT_HEIGHT, passedCount);
// af = new AlignFrame(al, 700, 500);
*/
package jalview.io;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.File;
-
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.api.AlignmentViewPanel;
import jalview.api.ViewStyleI;
import jalview.schemes.AnnotationColourGradient;
import jalview.schemes.ColourSchemeI;
+import java.io.File;
+
+import org.testng.Assert;
+import org.testng.AssertJUnit;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
public class Jalview2xmlTests
{
}
catch (NullPointerException q)
{
- fail("Mismatch of alignment annotations at position " + p
+ Assert.fail("Mismatch of alignment annotations at position " + p
+ " Ref seq ann: " + refan.annotations[p]
+ " alignment " + alaa.annotations[p]);
}
{
AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(
"examples/exampleFile_2_7.jar", FormatAdapter.FILE);
- Assert.assertTrue("Didn't read in the example file correctly.", af != null);
+ assertTrue("Didn't read in the example file correctly.", af != null);
AlignmentViewPanel sps = null, groups = null;
for (AlignmentViewPanel ap : af.alignPanel.alignFrame.getAlignPanels())
{
ViewStyleI structureStyle = sps.getAlignViewport().getViewStyle();
ViewStyleI groupStyle = groups.getAlignViewport().getViewStyle();
- Assert.assertFalse(structureStyle.sameStyle(groupStyle));
+ AssertJUnit.assertFalse(structureStyle.sameStyle(groupStyle));
groups.getAlignViewport().setViewStyle(structureStyle);
- Assert.assertFalse(groupStyle.sameStyle(groups.getAlignViewport()
+ AssertJUnit.assertFalse(groupStyle.sameStyle(groups.getAlignViewport()
.getViewStyle()));
Assert.assertTrue(structureStyle.sameStyle(groups.getAlignViewport()
.getViewStyle()));
*/
package jalview.io;
-import static org.junit.Assert.*;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Vector;
+import static org.testng.ConversionUtils.wrapDataProvider;
import jalview.analysis.NJTree;
import jalview.analysis.SequenceIdMatcher;
import jalview.datamodel.SequenceI;
import jalview.datamodel.SequenceNode;
-import org.jmol.util.ArrayUtil;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Vector;
+
import org.junit.runners.Parameterized.Parameters;
+import org.testng.Assert;
+import org.testng.AssertJUnit;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Factory;
+import org.testng.annotations.Test;
/**
* @author jimp
*
*/
-@RunWith(Parameterized.class)
public class NewickFileTests
{
+ @Factory
+ public static Object[] factoryData()
+ {
+ return wrapDataProvider(NewickFileTests.class, data());
+ }
+
@Parameters
public static Collection data()
{
System.out.println(treename + "\n" + testTree);
NewickFile nf = new NewickFile(testTree, FormatAdapter.PASTE);
nf.parse();
- assertTrue(stage + "Invalid Tree '" + nf.getWarningMessage() + "'",
+ AssertJUnit.assertTrue(stage + "Invalid Tree '" + nf.getWarningMessage() + "'",
nf.isValid());
SequenceNode tree = nf.getTree();
- assertTrue(stage + "Null Tree", tree != null);
+ AssertJUnit.assertTrue(stage + "Null Tree", tree != null);
stage = "Creating newick file from testTree " + treename;
String gentree = new NewickFile(tree).print(nf.HasBootstrap(),
nf.HasDistances());
- assertTrue(stage + "Empty string generated", gentree != null
+ AssertJUnit.assertTrue(stage + "Empty string generated", gentree != null
&& gentree.trim().length() > 0);
stage = "Parsing regenerated testTree " + treename;
NewickFile nf_regen = new NewickFile(gentree, FormatAdapter.PASTE);
nf_regen.parse();
- assertTrue(
+ AssertJUnit.assertTrue(
stage + "Newick file is invalid ('"
+ nf_regen.getWarningMessage() + "')",
nf_regen.isValid());
SequenceNode tree_regen = nf.getTree();
- assertTrue(stage + "Null Tree", tree_regen != null);
+ AssertJUnit.assertTrue(stage + "Null Tree", tree_regen != null);
stage = "Compare original and generated tree" + treename;
Vector oseqs, nseqs;
oseqs = new NJTree(new SequenceI[0], nf).findLeaves(nf.getTree(),
new Vector());
- assertTrue(stage + "No nodes in original tree.", oseqs.size() > 0);
+ AssertJUnit.assertTrue(stage + "No nodes in original tree.", oseqs.size() > 0);
SequenceI[] olsqs = new SequenceI[oseqs.size()];
for (int i = 0, iSize = oseqs.size(); i < iSize; i++)
{
olsqs[i] = (SequenceI) ((SequenceNode) oseqs.get(i)).element();
}
- nseqs = (Vector) new NJTree(new SequenceI[0], nf_regen).findLeaves(
+ nseqs = new NJTree(new SequenceI[0], nf_regen).findLeaves(
nf_regen.getTree(), new Vector());
- assertTrue(stage + "No nodes in regerated tree.", nseqs.size() > 0);
+ AssertJUnit.assertTrue(stage + "No nodes in regerated tree.", nseqs.size() > 0);
SequenceI[] nsqs = new SequenceI[nseqs.size()];
for (int i = 0, iSize = nseqs.size(); i < iSize; i++)
{
nsqs[i] = (SequenceI) ((SequenceNode) nseqs.get(i)).element();
}
- assertTrue(stage + " Different number of leaves (original "
+ AssertJUnit.assertTrue(stage + " Different number of leaves (original "
+ olsqs.length + " and regen " + nsqs.length + ")",
olsqs.length == nsqs.length);
SequenceIdMatcher omatcher = new SequenceIdMatcher(olsqs), nmatcher = new SequenceIdMatcher(
if (warns.length() > 0)
{
- fail(stage + warns);
+ Assert.fail(stage + warns);
}
} catch (Exception x)
{
package jalview.io;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import jalview.datamodel.Alignment;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
+
+import jalview.datamodel.AlignmentI;
import jalview.datamodel.SequenceI;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
-import org.junit.Test;
+import org.testng.annotations.Test;
/**
* Test file for {@link PhylipFile}.
private void testDataExtraction(String file) throws IOException
{
AppletFormatAdapter rf = new AppletFormatAdapter();
- Alignment al = rf.readFile(file, AppletFormatAdapter.FILE,
+ AlignmentI al = rf.readFile(file, AppletFormatAdapter.FILE,
PhylipFile.FILE_DESC);
assertNotNull("Couldn't read supplied alignment data.", al);
public void testIO(String file) throws IOException
{
AppletFormatAdapter rf = new AppletFormatAdapter();
- Alignment al = rf.readFile(file, AppletFormatAdapter.FILE,
+ AlignmentI al = rf.readFile(file, AppletFormatAdapter.FILE,
PhylipFile.FILE_DESC);
assertNotNull("Couldn't read supplied alignment data.", al);
String outputfile = rf.formatSequences(PhylipFile.FILE_DESC, al, true);
- Alignment al_input = new AppletFormatAdapter().readFile(outputfile,
+ AlignmentI al_input = new AppletFormatAdapter().readFile(outputfile,
AppletFormatAdapter.PASTE, PhylipFile.FILE_DESC);
assertNotNull("Couldn't parse reimported alignment data.", al_input);
import java.io.File;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
public class RNAMLfileTest
{
public void testRnamlToStockholmIO()
{
StockholmFileTest.testFileIOwithFormat(new File(
- "examples/rna-alignment.xml"), "STH", -1, -1);
+ "examples/testdata/rna-alignment.xml"), "STH", -1, -1);
}
*/
package jalview.io;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import jalview.datamodel.Alignment;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.Annotation;
import java.util.HashMap;
import java.util.Map;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class StockholmFileTest
{
* - label for IO class used to write and read back in the data from
* f
*/
+
public static void testFileIOwithFormat(File f, String ioformat,
int naliannot, int nminseqann)
{
{
AppletFormatAdapter rf = new AppletFormatAdapter();
- Alignment al = rf.readFile(ff, AppletFormatAdapter.FILE,
+ AlignmentI al = rf.readFile(ff, AppletFormatAdapter.FILE,
new IdentifyFile().Identify(ff, AppletFormatAdapter.FILE));
assertNotNull("Couldn't read supplied alignment data.", al);
System.out.println("Output file in '" + ioformat + "':\n"
+ outputfile + "\n<<EOF\n");
// test for consistency in io
- Alignment al_input = new AppletFormatAdapter().readFile(outputfile,
+ AlignmentI al_input = new AppletFormatAdapter().readFile(outputfile,
AppletFormatAdapter.PASTE, ioformat);
assertNotNull("Couldn't parse reimported alignment data.", al_input);
an_new.displayCharacter.trim())
|| !("" + an_or.secondaryStructure).trim().equals(
("" + an_new.secondaryStructure).trim())
- || (an_or.description != an_new.description && (an_or.description == null
- || an_new.description == null || !an_or.description
- .equals(an_new.description))))
+ || (an_or.description != an_new.description && !((an_or.description == null && an_new.description
+ .trim().length() == 0)
+ || (an_new.description == null && an_or.description
+ .trim().length() == 0) || an_or.description
+ .trim().equals(an_new.description.trim()))))
{
System.err.println("Annotation Element Mismatch\nElement " + i
+ " in original: " + annot_or.annotations[i].toString()
*/
package jalview.io;
-import static org.junit.Assert.*;
import jalview.io.TCoffeeScoreFile.Block;
import jalview.io.TCoffeeScoreFile.Header;
import java.io.IOException;
import java.util.List;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.junit.Test;
-import org.xml.sax.SAXException;
-
-import fr.orsay.lri.varna.exceptions.ExceptionFileFormatOrSyntax;
-import fr.orsay.lri.varna.exceptions.ExceptionLoadingFailed;
-import fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied;
-import fr.orsay.lri.varna.exceptions.ExceptionUnmatchedClosingParentheses;
+import org.testng.AssertJUnit;
+import org.testng.annotations.Test;
public class TCoffeeScoreFileTest
{
TCoffeeScoreFile scoreFile = new TCoffeeScoreFile(SCORE_FILE.getPath(),
AppletFormatAdapter.FILE);
- assertTrue(scoreFile.getWarningMessage(), scoreFile.isValid());
+ AssertJUnit.assertTrue(scoreFile.getWarningMessage(), scoreFile.isValid());
Header header = scoreFile.header;
- assertNotNull(header);
- assertEquals(
+ AssertJUnit.assertNotNull(header);
+ AssertJUnit.assertEquals(
"T-COFFEE, Version_9.02.r1228 (2012-02-16 18:15:12 - Revision 1228 - Build 336)",
header.head);
- assertEquals(90, header.score);
- assertEquals(89, header.getScoreFor("1PHT"));
- assertEquals(90, header.getScoreFor("1BB9"));
- assertEquals(94, header.getScoreFor("1UHC"));
- assertEquals(94, header.getScoreFor("1YCS"));
- assertEquals(93, header.getScoreFor("1OOT"));
- assertEquals(94, header.getScoreFor("1ABO"));
- assertEquals(94, header.getScoreFor("1FYN"));
- assertEquals(94, header.getScoreFor("1QCF"));
- assertEquals(90, header.getScoreFor("cons"));
+ AssertJUnit.assertEquals(90, header.score);
+ AssertJUnit.assertEquals(89, header.getScoreFor("1PHT"));
+ AssertJUnit.assertEquals(90, header.getScoreFor("1BB9"));
+ AssertJUnit.assertEquals(94, header.getScoreFor("1UHC"));
+ AssertJUnit.assertEquals(94, header.getScoreFor("1YCS"));
+ AssertJUnit.assertEquals(93, header.getScoreFor("1OOT"));
+ AssertJUnit.assertEquals(94, header.getScoreFor("1ABO"));
+ AssertJUnit.assertEquals(94, header.getScoreFor("1FYN"));
+ AssertJUnit.assertEquals(94, header.getScoreFor("1QCF"));
+ AssertJUnit.assertEquals(90, header.getScoreFor("cons"));
}
@Test
{
TCoffeeScoreFile result = new TCoffeeScoreFile(ALIGN_FILE.getPath(),
FormatAdapter.FILE);
- assertFalse(result.isValid());
+ AssertJUnit.assertFalse(result.isValid());
} catch (IOException x)
{
- assertTrue("File not found exception thrown",
+ AssertJUnit.assertTrue("File not found exception thrown",
x instanceof FileNotFoundException);
}
}
{
TCoffeeScoreFile result = new TCoffeeScoreFile(SCORE_FILE.getPath(),
FormatAdapter.FILE);
- assertTrue(result.isValid());
- assertEquals(8, result.getHeight());
- assertEquals(83, result.getWidth());
+ AssertJUnit.assertTrue(result.isValid());
+ AssertJUnit.assertEquals(8, result.getHeight());
+ AssertJUnit.assertEquals(83, result.getWidth());
}
@Test
FileParse source = new FileParse(BLOCK, FormatAdapter.PASTE);
Block block = TCoffeeScoreFile.readBlock(source, 0);
- assertNotNull(block);
- assertEquals("999999999999999999999999998762112222543211112134",
+ AssertJUnit.assertNotNull(block);
+ AssertJUnit.assertEquals("999999999999999999999999998762112222543211112134",
block.getScoresFor("1PHT"));
- assertEquals("99999999999999999999999999987-------4322----2234",
+ AssertJUnit.assertEquals("99999999999999999999999999987-------4322----2234",
block.getScoresFor("1BB9"));
- assertEquals("99999999999999999999999999987-------5321----2246",
+ AssertJUnit.assertEquals("99999999999999999999999999987-------5321----2246",
block.getScoresFor("1UHC"));
- assertEquals("99999999999999999999999999986-------4321----1-35",
+ AssertJUnit.assertEquals("99999999999999999999999999986-------4321----1-35",
block.getScoresFor("1YCS"));
- assertEquals("999999999999999999999999999861-------3------1135",
+ AssertJUnit.assertEquals("999999999999999999999999999861-------3------1135",
block.getScoresFor("1OOT"));
- assertEquals("99999999999999999999999999986-------422-------34",
+ AssertJUnit.assertEquals("99999999999999999999999999986-------422-------34",
block.getScoresFor("1ABO"));
- assertEquals("99999999999999999999999999985-------32--------35",
+ AssertJUnit.assertEquals("99999999999999999999999999985-------32--------35",
block.getScoresFor("1FYN"));
- assertEquals("99999999999999999999999999974-------2---------24",
+ AssertJUnit.assertEquals("99999999999999999999999999974-------2---------24",
block.getScoresFor("1QCF"));
- assertEquals("999999999999999999999999999851000110321100001134",
+ AssertJUnit.assertEquals("999999999999999999999999999851000110321100001134",
block.getConsensus());
}
TCoffeeScoreFile parser = new TCoffeeScoreFile(SCORE_FILE.getPath(),
FormatAdapter.FILE);
- assertEquals(
+ AssertJUnit.assertEquals(
"999999999999999999999999998762112222543211112134----------5666642367889999999999889",
parser.getScoresFor("1PHT"));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999987-------4322----22341111111111676653-355679999999999889",
parser.getScoresFor("1BB9"));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999987-------5321----2246----------788774--66789999999999889",
parser.getScoresFor("1UHC"));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999986-------4321----1-35----------78777--356789999999999889",
parser.getScoresFor("1YCS"));
- assertEquals(
+ AssertJUnit.assertEquals(
"999999999999999999999999999861-------3------1135----------78877--356789999999997-67",
parser.getScoresFor("1OOT"));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999986-------422-------34----------687774--56779999999999889",
parser.getScoresFor("1ABO"));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999985-------32--------35----------6888842356789999999999889",
parser.getScoresFor("1FYN"));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999974-------2---------24----------6878742356789999999999889",
parser.getScoresFor("1QCF"));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999985100011032110000113400100000006877641356789999999999889",
parser.getScoresFor("cons"));
}
TCoffeeScoreFile parser = new TCoffeeScoreFile(SCORE_FILE.getPath(),
FormatAdapter.FILE);
- assertTrue(parser.getWarningMessage(), parser.isValid());
+ AssertJUnit.assertTrue(parser.getWarningMessage(), parser.isValid());
List<String> scores = parser.getScoresList();
- assertEquals(
+ AssertJUnit.assertEquals(
"999999999999999999999999998762112222543211112134----------5666642367889999999999889",
scores.get(0));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999987-------4322----22341111111111676653-355679999999999889",
scores.get(1));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999987-------5321----2246----------788774--66789999999999889",
scores.get(2));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999986-------4321----1-35----------78777--356789999999999889",
scores.get(3));
- assertEquals(
+ AssertJUnit.assertEquals(
"999999999999999999999999999861-------3------1135----------78877--356789999999997-67",
scores.get(4));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999986-------422-------34----------687774--56779999999999889",
scores.get(5));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999985-------32--------35----------6888842356789999999999889",
scores.get(6));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999974-------2---------24----------6878742356789999999999889",
scores.get(7));
- assertEquals(
+ AssertJUnit.assertEquals(
"99999999999999999999999999985100011032110000113400100000006877641356789999999999889",
scores.get(8));
TCoffeeScoreFile parser = new TCoffeeScoreFile(SCORE_FILE.getPath(),
FormatAdapter.FILE);
- assertTrue(parser.getWarningMessage(), parser.isValid());
+ AssertJUnit.assertTrue(parser.getWarningMessage(), parser.isValid());
byte[][] scores = parser.getScoresArray();
- assertEquals(9, scores[0][0]);
- assertEquals(9, scores[1][0]);
- assertEquals(9, scores[2][0]);
- assertEquals(9, scores[3][0]);
- assertEquals(9, scores[4][0]);
- assertEquals(9, scores[5][0]);
- assertEquals(9, scores[6][0]);
- assertEquals(9, scores[7][0]);
- assertEquals(9, scores[8][0]);
-
- assertEquals(5, scores[0][36]);
- assertEquals(4, scores[1][36]);
- assertEquals(5, scores[2][36]);
- assertEquals(4, scores[3][36]);
- assertEquals(-1, scores[4][36]);
- assertEquals(4, scores[5][36]);
- assertEquals(3, scores[6][36]);
- assertEquals(2, scores[7][36]);
- assertEquals(3, scores[8][36]);
+ AssertJUnit.assertEquals(9, scores[0][0]);
+ AssertJUnit.assertEquals(9, scores[1][0]);
+ AssertJUnit.assertEquals(9, scores[2][0]);
+ AssertJUnit.assertEquals(9, scores[3][0]);
+ AssertJUnit.assertEquals(9, scores[4][0]);
+ AssertJUnit.assertEquals(9, scores[5][0]);
+ AssertJUnit.assertEquals(9, scores[6][0]);
+ AssertJUnit.assertEquals(9, scores[7][0]);
+ AssertJUnit.assertEquals(9, scores[8][0]);
+
+ AssertJUnit.assertEquals(5, scores[0][36]);
+ AssertJUnit.assertEquals(4, scores[1][36]);
+ AssertJUnit.assertEquals(5, scores[2][36]);
+ AssertJUnit.assertEquals(4, scores[3][36]);
+ AssertJUnit.assertEquals(-1, scores[4][36]);
+ AssertJUnit.assertEquals(4, scores[5][36]);
+ AssertJUnit.assertEquals(3, scores[6][36]);
+ AssertJUnit.assertEquals(2, scores[7][36]);
+ AssertJUnit.assertEquals(3, scores[8][36]);
}
{
String file = "test/jalview/io/tcoffee.score_ascii_with_residue_numbers";
TCoffeeScoreFile result = new TCoffeeScoreFile(file, FormatAdapter.FILE);
- assertTrue(result.isValid());
- assertEquals(5, result.getHeight());
- assertEquals(84, result.getWidth());
+ AssertJUnit.assertTrue(result.isValid());
+ AssertJUnit.assertEquals(5, result.getHeight());
+ AssertJUnit.assertEquals(84, result.getWidth());
}
}
*/
package jalview.schemes;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertTrue;
import java.util.Map;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class DnaCodonTests
{
package jalview.schemes;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
import java.util.Collections;
import java.util.List;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class ResiduePropertiesTest
{
import java.util.Map;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class ScoreMatrixPrinter
{
package jalview.structure;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import org.junit.Assert;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import MCview.PDBfile;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.Annotation;
import jalview.io.FileLoader;
import jalview.io.FormatAdapter;
+import org.testng.Assert;
+import org.testng.AssertJUnit;
+import org.testng.annotations.Test;
+
+import MCview.PDBfile;
+
public class Mapping
{
* 115 in PDB Res Numbering secondary structure numbers in jmol seem to be in
* msd numbering, not pdb res numbering.
*/
- @Test
- @Ignore
+ @Test(enabled = false)
public void pdbEntryPositionMap() throws Exception
{
- fail("This test intentionally left to fail");
+ Assert.fail("This test intentionally left to fail");
for (int offset = 0; offset < 20; offset += 6)
{
// check we put the secondary structure in the right position
}
}
- @Test
- @Ignore
+ @Test(enabled = false)
public void testPDBentryMapping() throws Exception
{
- fail("This test intentionally left to fail");
+ Assert.fail("This test intentionally left to fail");
Sequence sq = new Sequence(
"1GAQ A subseq 126 to 219",
"EIVKGVCSNFLCDLQPGDNVQITGPVGKEMLMPKDPNATIIMLATGTGIAPFRSFLWKMFFEKHDDYKFNGLGWLFLGVPTSSSLLYKEEFGKM");
jalview.io.FormatAdapter.FILE);
if (pmap == null)
{
- Assert.fail("Couldn't make a mapping for 3W5V to FER1_MAIZE");
+ AssertJUnit.fail("Couldn't make a mapping for 3W5V to FER1_MAIZE");
}
}
package jalview.structure;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.datamodel.AlignedCodonFrame;
import java.util.HashSet;
import java.util.Set;
-import org.junit.Before;
-import org.junit.Test;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
public class StructureSelectionManagerTest
{
private StructureSelectionManager ssm;
- @Before
+ @BeforeMethod
public void setUp()
{
ssm = new StructureSelectionManager();
package jalview.structures.models;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.junit.Before;
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
import jalview.structure.StructureSelectionManager;
import jalview.structures.models.AAStructureBindingModel.SuperposeData;
+import java.util.Arrays;
+import java.util.List;
+
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
/**
* Unit tests for non-abstract methods of abstract base class
*
/**
* Set up test conditions with three aligned sequences,
*/
- @Before
+ @BeforeMethod
public void setUp()
{
SequenceI seq1 = new Sequence("1YCS", "-VPSQK");
package jalview.util;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
import java.awt.Color;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class ColorUtilsTest
{
package jalview.util;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceI;
+import org.testng.annotations.Test;
+
public class ComparisonTest
{
package jalview.util;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertNull;
+import static org.testng.AssertJUnit.assertSame;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.datamodel.DBRefEntry;
import jalview.datamodel.DBRefSource;
import jalview.datamodel.Mapping;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceI;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class DBRefUtilsTest
{
package jalview.util;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertNull;
+import static org.testng.AssertJUnit.assertTrue;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import org.junit.Assert;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class MapListTest
{
private static void testLocateFrom(MapList mldna, int i, int j, int[] ks)
{
int[] frm = mldna.locateInFrom(i, j);
- Assert.assertEquals("Failed test locate from " + i + " to " + j,
+ assertEquals("Failed test locate from " + i + " to " + j,
Arrays.toString(frm), Arrays.toString(ks));
}
package jalview.util;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import java.awt.Color;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertSame;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.api.AlignViewportI;
import jalview.datamodel.AlignedCodonFrame;
-import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.ColumnSelection;
import jalview.datamodel.SearchResults;
import jalview.io.AppletFormatAdapter;
import jalview.io.FormatAdapter;
+import java.awt.Color;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.testng.annotations.Test;
+
public class MappingUtilsTest
{
private AlignViewportI dnaView;
protected AlignmentI loadAlignment(final String data, String format)
throws IOException
{
- Alignment a = new FormatAdapter().readFile(data,
+ AlignmentI a = new FormatAdapter().readFile(data,
AppletFormatAdapter.PASTE, format);
a.setDataset(null);
return a;
package jalview.util;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
import java.util.Arrays;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
public class QuickSortTest
{
private final Object[] sortedThings = new Object[]
{ c4, c2, c1, c3 };
- @Before
+ @BeforeMethod
public void setUp()
{
things = new Object[]
/**
* Test whether sort is stable i.e. equal values retain their mutual ordering.
*/
- @Test
- @Ignore
+ @Test(enabled = false)
public void testSort_withDuplicates()
{
int[] values = new int[]
package jalview.util;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
import java.util.Arrays;
import java.util.List;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class ShiftListTest
{
package jalview.util;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
+import static org.testng.AssertJUnit.assertTrue;
import java.util.Arrays;
-import org.junit.Test;
+import org.testng.annotations.Test;
public class StringUtilsTest
{
package jalview.viewmodel.styles;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
import java.awt.Color;
import java.lang.reflect.Field;
import java.util.Random;
-import org.junit.Assert;
-import org.junit.Test;
+import org.testng.AssertJUnit;
+import org.testng.annotations.Test;
public class ViewStyleTest
}
else
{
- Assert.fail("Unhandled field type (add to test): " + field.getName()
+ AssertJUnit.fail("Unhandled field type (add to test): " + field.getName()
+ ":" + type);
}
}
*/
package jalview.ws;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-
-import org.junit.Before;
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.bin.Cache;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.SequenceI;
import jalview.ws.seqfetcher.DbSourceProxy;
+import java.util.List;
+
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
public class PDBSequenceFetcherTest
{
SequenceFetcher sf;
- @Before
+ @BeforeMethod
public void setUp() throws Exception
{
// ensure 'add annotation from structure' is selected
sf = new SequenceFetcher(false);
}
- @Test
+ @Test(enabled = false)
public void testRnaSeqRetrieve() throws Exception
{
List<DbSourceProxy> sps = sf.getSourceProxy("PDB");
package jalview.ws.dbsources;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.ws.dbsources.PDBRestClient.PDBDocField;
import jalview.ws.uimodel.PDBRestRequest;
import jalview.ws.uimodel.PDBRestResponse;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.testng.Assert;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
public class PDBRestClientTest
{
- @Before
+ @BeforeMethod
public void setUp() throws Exception
{
}
- @After
+ @AfterMethod
public void tearDown() throws Exception
{
}
} catch (Exception e)
{
e.printStackTrace();
- fail("Couldn't execute webservice call!");
+ Assert.fail("Couldn't execute webservice call!");
return;
}
assertTrue(response.getNumberOfItemsFound() > 99);
assertEquals(expectedErrorMsg, parsedErrorResponse);
}
- @Test(expected = Exception.class)
+ @Test(expectedExceptions = Exception.class)
public void testForExpectedRuntimeException() throws Exception
{
List<PDBDocField> wantedFields = new ArrayList<PDBDocField>();
// Check the response status and report exception if one occurs
if (clientResponse.getStatus() != 200)
{
- fail("Webservice call failed!!!");
+ Assert.fail("Webservice call failed!!!");
}
else
{
}
} catch (ParseException e)
{
- fail(">>> Test failed due to exception while parsing pdb response json !!!");
+ Assert.fail(">>> Test failed due to exception while parsing pdb response json !!!");
e.printStackTrace();
}
}
package jalview.ws.dbsources;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
+
+import jalview.datamodel.PDBEntry;
+import jalview.datamodel.SequenceFeature;
+import jalview.datamodel.UniprotEntry;
import java.io.Reader;
import java.io.StringReader;
import java.util.Vector;
-import org.junit.Test;
-
-import jalview.datamodel.PDBEntry;
-import jalview.datamodel.SequenceFeature;
-import jalview.datamodel.UniprotEntry;
+import org.testng.annotations.Test;
public class UniprotTest
{
*/
package jalview.ws.gui;
+import jalview.bin.Cache;
+import jalview.gui.WsJobParameters;
+import jalview.util.MessageManager;
+import jalview.ws.jabaws.JalviewJabawsTestUtils;
+import jalview.ws.jws2.JabaPreset;
+import jalview.ws.jws2.Jws2Discoverer;
+import jalview.ws.jws2.jabaws2.Jws2Instance;
+
import java.awt.BorderLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import compbio.metadata.Preset;
import compbio.metadata.PresetManager;
-import jalview.bin.Cache;
-import jalview.gui.WsJobParameters;
-import jalview.util.MessageManager;
-import jalview.ws.jabaws.JalviewJabawsTestUtils;
-import jalview.ws.jws2.JabaPreset;
-import jalview.ws.jws2.Jws2Discoverer;
-import jalview.ws.jws2.jabaws2.Jws2Instance;
-
public class Jws2ParamView
{
/**
* This test marked Ignore as it appears to need user action to complete
* rather than hang
*/
- @Test
- @Ignore
+
+ @Test(enabled = false)
public void testJws2Gui()
{
Iterator<String> presetEnum = presetTests.iterator();
*/
package jalview.ws.jabaws;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.io.AnnotationFile;
import java.util.ArrayList;
import java.util.List;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
public class DisorderAnnotExportImport
{
{
e.printStackTrace();
}
- fail("Test "
+ Assert.fail("Test "
+ testname
+ "\nCouldn't complete Annotation file roundtrip input/output/input test.");
}
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import java.util.Vector;
+import jalview.ws.jws2.Jws2Discoverer;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
+import java.util.Vector;
-import jalview.ws.jws2.Jws2Discoverer;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
public class JalviewJabawsTestUtils
{
{ "http://localhost:8080/jabaws",
"http://www.compbio.dundee.ac.uk/jabaws" };
- @Test
- @Ignore
+ @Test(enabled = false)
public void testAnnotExport()
{
fail("Not yet implemented");
*/
package jalview.ws.jabaws;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.awt.Component;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.swing.JMenu;
-import javax.swing.JMenuItem;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import compbio.metadata.Argument;
-import compbio.metadata.WrongParameterException;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.datamodel.AlignmentI;
import jalview.gui.Jalview2XML;
import jalview.ws.jws2.jabaws2.Jws2Instance;
import jalview.ws.params.AutoCalcSetting;
+import java.awt.Component;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+import compbio.metadata.Argument;
+import compbio.metadata.WrongParameterException;
+
public class JpredJabaStructExportImport
{
public static String testseqs = "examples/uniref50.fa";
if (jpredws == null)
{
- fail("jpredws is null");
+ Assert.fail("jpredws is null");
}
jalview.io.FileLoader fl = new jalview.io.FileLoader(false);
if (!success)
{
jpredClient.cancelCurrentJob();
- fail("Jpred Client didn't run with hardwired default parameters.");
+ Assert.fail("Jpred Client didn't run with hardwired default parameters.");
}
} catch (InterruptedException x)
{
e.printStackTrace();
}
- fail("Test "
+ Assert.fail("Test "
+ testname
+ "\nCouldn't complete Annotation file roundtrip input/output/input test.");
}
- // @Test
+ @Test
public void testJpredwsSettingsRecovery()
{
- fail("not implemnented");
+ Assert.fail("not implemnented");
List<compbio.metadata.Argument> opts = new ArrayList<compbio.metadata.Argument>();
for (compbio.metadata.Argument rg : (List<compbio.metadata.Argument>) jpredws
.getRunnerConfig().getArguments())
rg.setValue("292");
} catch (WrongParameterException q)
{
- fail("Couldn't set the temperature parameter "
+ Assert.fail("Couldn't set the temperature parameter "
+ q.getStackTrace());
}
opts.add(rg);
package jalview.ws.jabaws;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.testng.AssertJUnit.assertEquals;
import java.util.ArrayList;
import java.util.List;
-import org.junit.Test;
+import org.testng.Assert;
+import org.testng.annotations.Test;
import compbio.data.msa.MsaWS;
import compbio.data.msa.RegistryWS;
import compbio.ws.client.Jws2Client;
import compbio.ws.client.Services;
-public class MinJabawsClientTests {
+public class MinJabawsClientTests
+{
/**
* simple test for the benefit of JAL-1338
}
}
if (msaservice == null) {
- fail("couldn't find a clustalO service on the public registry");
+ Assert.fail("couldn't find a clustalO service on the public registry");
}
FastaSequence fsq = new FastaSequence("seqA",
"SESESESESESESESSESESSESESESESESESESESESEEEEEESSESESESESSSSESESESESESESE");
*/
package jalview.ws.jabaws;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
+
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.gui.Jalview2XML;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import compbio.metadata.WrongParameterException;
if (rnaalifoldws == null)
{
- fail("no web service");
+ Assert.fail("no web service");
}
jalview.io.FileLoader fl = new jalview.io.FileLoader(false);
{
if (aa.isRNA())
{
- Assert.assertTrue("Did not create valid structure from RNAALiFold prediction", aa.isValidStruc());
+ assertTrue(
+ "Did not create valid structure from RNAALiFold prediction",
+ aa.isValidStruc());
}
}
}
{
e.printStackTrace();
}
- fail("Test "
+ Assert.fail("Test "
+ testname
+ "\nCouldn't complete Annotation file roundtrip input/output/input test.");
}
rg.setValue("292");
} catch (WrongParameterException q)
{
- fail("Couldn't set the temperature parameter "
+ Assert.fail("Couldn't set the temperature parameter "
+ q.getStackTrace());
}
opts.add(rg);
*/
package jalview.ws.jws2;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
+
+import jalview.bin.Cache;
+import jalview.ws.jabaws.JalviewJabawsTestUtils;
+import jalview.ws.jws2.jabaws2.Jws2Instance;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import compbio.metadata.Option;
import compbio.metadata.Parameter;
import compbio.metadata.PresetManager;
import compbio.metadata.WrongParameterException;
-import jalview.bin.Cache;
-import jalview.ws.jabaws.JalviewJabawsTestUtils;
-import jalview.ws.jws2.jabaws2.Jws2Instance;
-
public class ParameterUtilsTest
{
/*
package jalview.ws.rest;
-import static org.junit.Assert.assertEquals;
+import static org.testng.AssertJUnit.assertEquals;
-import java.util.Vector;
+import jalview.bin.Cache;
-import org.junit.Test;
+import java.util.Vector;
-import jalview.bin.Cache;
+import org.testng.annotations.Test;
public class RestClientTest
{
*/
package jalview.ws.rest;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
-import java.util.Map;
+import jalview.gui.AlignFrame;
-import org.junit.Test;
+import java.util.Map;
-import jalview.gui.AlignFrame;
-import jalview.util.StringUtils;
+import org.testng.annotations.Test;
/**
* @author jimp
package jalview.ws.seqfetcher;
-import static org.junit.Assert.*;
-
-import org.junit.Test;
+import org.testng.AssertJUnit;
+import org.testng.annotations.Test;
public class DasSequenceFetcher
{
public void testDasRegistryContact()
{
jalview.bin.Cache.getDasSourceRegistry().refreshSources();
- assertTrue(
+ AssertJUnit.assertTrue(
"Expected to find at least one DAS source at the registry. Check config.",
jalview.bin.Cache.getDasSourceRegistry().getSources().size() > 0);
}
*/
package jalview.ws.seqfetcher;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
import jalview.analysis.CrossRef;
import jalview.datamodel.AlignmentI;
import jalview.util.DBRefUtils;
import jalview.ws.SequenceFetcher;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
/**
* @author jimp
*
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
+<suite name="Suite" parallel="none">
+ <test verbose="2" name="Test">
+ <classes>
+ <class name="jalview.gui.AlignViewportTest"/>
+ <class name="jalview.util.ShiftListTest"/>
+ <class name="jalview.util.ColorUtilsTest"/>
+ <class name="jalview.gui.PDBSearchPanelTest"/>
+ <class name="MCview.PDBfileTest"/>
+ <class name="jalview.io.BioJsHTMLOutputTest"/>
+ <class name="jalview.io.JSONFileTest"/>
+ <class name="jalview.ext.jmol.PDBFileWithJmolTest"/>
+ <class name="jalview.ws.jabaws.RNAStructExportImport"/>
+ <class name="jalview.ext.paradise.TestAnnotate3D"/>
+ <class name="MCview.PDBChainTest"/>
+ <class name="jalview.io.StockholmFileTest"/>
+ <class name="jalview.schemes.ScoreMatrixPrinter"/>
+ <class name="jalview.datamodel.SearchResultsTest"/>
+ <class name="jalview.ws.seqfetcher.DasSequenceFetcher"/>
+ <class name="jalview.util.DBRefUtilsTest"/>
+ <class name="jalview.analysis.CrossRefTest"/>
+ <class name="jalview.ws.jabaws.MinJabawsClientTests"/>
+ <class name="jalview.datamodel.AlignedCodonTest"/>
+ <class name="MCview.AtomTest"/>
+ <class name="jalview.gui.PopupMenuTest"/>
+ <class name="jalview.viewmodel.styles.ViewStyleTest"/>
+ <class name="jalview.io.AnnotationFileIOTest"/>
+ <class name="jalview.ws.jws2.ParameterUtilsTest"/>
+ <class name="jalview.io.RNAMLfileTest"/>
+ <class name="jalview.analysis.AlignmentUtilsTests"/>
+ <class name="jalview.gui.SequenceRendererTest"/>
+ <class name="jalview.bin.CommandLineOperations"/>
+ <class name="jalview.gui.PaintRefresherTest"/>
+ <class name="jalview.ws.seqfetcher.DbRefFetcherTest"/>
+ <class name="jalview.datamodel.AlignmentAnnotationTests"/>
+ <class name="jalview.schemes.ResiduePropertiesTest"/>
+ <class name="jalview.ext.rbvi.chimera.ChimeraCommandsTest"/>
+ <class name="MCview.ResidueTest"/>
+ <class name="jalview.io.PhylipFileTests"/>
+ <class name="jalview.util.MappingUtilsTest"/>
+ <class name="jalview.ws.jabaws.DisorderAnnotExportImport"/>
+ <class name="jalview.analysis.GroupingTest"/>
+ <class name="jalview.analysis.AnnotationSorterTest"/>
+ <class name="jalview.io.FileIOTester"/>
+ <class name="jalview.util.MapListTest"/>
+ <class name="jalview.datamodel.ColumnSelectionTest"/>
+ <class name="jalview.ext.rbvi.chimera.ChimeraConnect"/>
+ <class name="jalview.gui.ProgressBarTest"/>
+ <class name="jalview.analysis.AlignmentAnnotationUtilsTest"/>
+ <class name="jalview.structure.StructureSelectionManagerTest"/>
+ <class name="jalview.io.TCoffeeScoreFileTest"/>
+ <class name="jalview.analysis.AAFrequencyTest"/>
+ <class name="jalview.ws.dbsources.PDBRestClientTest"/>
+ <class name="jalview.analysis.DnaTest"/>
+ <class name="jalview.util.StringUtilsTest"/>
+ <class name="jalview.structures.models.AAStructureBindingModelTest"/>
+ <class name="jalview.gui.JvSwingUtilsTest"/>
+ <class name="jalview.analysis.CodingUtilsTest"/>
+ <class name="jalview.io.AnnotatedPDBFileInputTest"/>
+ <class name="jalview.ws.rest.ShmmrRSBSService"/>
+ <class name="jalview.io.NewickFileTests"/>
+ <class name="jalview.analysis.ParsePropertiesTest"/>
+ <class name="MCview.BondTest"/>
+ <class name="jalview.commands.EditCommandTest"/>
+ <class name="jalview.ext.rbvi.chimera.JalviewChimeraView"/>
+ <class name="jalview.ws.jabaws.JpredJabaStructExportImport"/>
+ <class name="jalview.gui.HelpTest"/>
+ <class name="jalview.datamodel.AlignedCodonIteratorTest"/>
+ <class name="jalview.datamodel.xdb.embl.EmblFileTest"/>
+ <class name="jalview.util.ComparisonTest"/>
+ <class name="jalview.util.QuickSortTest"/>
+ <class name="jalview.ws.PDBSequenceFetcherTest"/>
+ <class name="jalview.analysis.scoremodels.FeatureScoreModelTest"/>
+ <class name="jalview.io.Jalview2xmlTests"/>
+ <class name="jalview.ws.rest.RestClientTest"/>
+ <class name="jalview.datamodel.AlignedCodonFrameTest"/>
+ <class name="jalview.datamodel.MappingTest"/>
+ <class name="jalview.datamodel.AlignmentTest"/>
+ <class name="jalview.ws.dbsources.UniprotTest"/>
+ <class name="jalview.gui.AnnotationChooserTest"/>
+ <class name="jalview.structure.Mapping"/>
+ <class name="jalview.datamodel.SequenceTest"/>
+ <class name="jalview.datamodel.PDBEntryTest"/>
+ <class name="jalview.gui.StructureChooserTest"/>
+ <class name="jalview.schemes.DnaCodonTests"/>
+ <class name="com.stevesoft.pat.RegexWriterTest"/>
+ <class name="jalview.datamodel.DBRefEntryTest"/>
+ <class name="jalview.gui.FontChooserTest"/>
+ <class name="jalview.analysis.TestAlignSeq"/>
+ <class name="jalview.datamodel.SeqCigarTest"/>
+ <class name="jalview.gui.JAL1353bugdemo"/>
+ </classes>
+ </test> <!-- Test -->
+</suite> <!-- Suite -->