The following table documents which versions of the Poseidon standard are compatible with which versions of the software tools.
<script> Vue.createApp({ data () { return { versionTableRows: null, tools: ["trident", "xerxes", "qjanno", "janno" ], toolURLs: ["#/trident", "#/xerxes", "#/qjanno", "#/janno_r_package" ], poseidonVersions: null, versionsPerTool: null } }, async mounted () { const response = await fetch( "https://raw.githubusercontent.com/poseidon-framework/poseidon-framework.github.io/master/version_table.tsv" ); const versionTableTSVData = await response.text(); this.versionTableRows = this.parseTSV(versionTableTSVData); this.poseidonVersions = this.versionTableRows.map((row) => row.poseidonVersion).filter(this.unique).sort() this.versionsPerTool = this.tools.map((tool) => this.getVersions(tool, this.versionTableRows)) }, methods: { parseTSV(csvData) { const lines = csvData.split("\n"); const headers = lines[0].split("\t"); const rows = []; for (let i = 1; i < lines.length; i++) { const values = lines[i].split("\t"); if (values.length !== headers.length) continue; const row = {}; for (let j = 0; j < headers.length; j++) { row[headers[j]] = values[j]; } rows.push(row); } return rows; }, unique(value, index, array) { return array.indexOf(value) === index; }, getVersions(tool, versionTableRows) { return( versionTableRows .filter((row) => row.tool == tool) .map((row) => row.version) .filter(this.unique) // https://stackoverflow.com/questions/40201533/sort-version-dotted-number-strings-in-javascript .map( a => a.split('.').map( n => +n+1000000 ).join('.') ) .sort((a,b) => b-a) .map( a => a.split('.').map( n => +n-1000000 ).join('.') ) ) }, exists(versionTableRows,t,v,pV) { var fittingRows = versionTableRows.filter((row) => row.tool == t && row.version == v && row.poseidonVersion == pV); return fittingRows.length > 0; } } }).mount('#versionFileViewer'); </script>{{tool}} |
|
...fetching data from GitHub
There is no documented version history before Poseidon v2.4.0.