Skip to content

Latest commit

 

History

History
153 lines (144 loc) · 5.16 KB

File metadata and controls

153 lines (144 loc) · 5.16 KB

Version overview table

The following table documents which versions of the Poseidon standard are compatible with which versions of the software tools.

indicates full support and marks partial or imperfect support, but usually still to a well usable level. _ means the tool may or may not work or break in unexpected ways depending on the input data.

<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" "/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; }, getSupportLevel(versionTableRows,t,v,pV) { const row = versionTableRows.find( (row) => row.tool === t && row.version === v && row.poseidonVersion === pV ); return row ? row.support : "none"; } } }).mount('#versionFileViewer'); </script>
{{tool}}
Poseidon standard versions
{{tool}} {{poseidonVersion}}
{{version}}
_
...fetching data from GitHub
<style> .table-default { width: 100%; display: table !important; } .table-default thead { width: 100%; } .table-default tbody { width: 100%; } .table-default tr { width: 100%; line-height: 8px !important; } .table-default th { text-align: center !important; } .table-default td { text-align: center; } </style>

There is no documented version history before Poseidon v2.4.0.