You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,25 @@
1
+
- V 1.7.0.0:
2
+
- Changes to .janno columns according to Poseidon v3.0.0:
3
+
- Replaced column `Source_Tissue` with column `Source_Material`.
4
+
- New column `Individual_ID`.
5
+
- New column `Species`.
6
+
- New column `Alternative_IDs_Context` linked to `Alternative_IDs`.
7
+
- New column `Custodian_Institution`.
8
+
- New columns `Cultural_Era` + `Cultural_Era_URL` and `Archaeological_Culture` + `Archaeological_Culture_URL`.
9
+
- New column `Chromosomal_Anomalies`.
10
+
- Made column `Collection_ID` a list column.
11
+
- Soft-retired the option `ReferenceGenome` in the column `Capture_Type`.
12
+
- Added rescaling feature for the columns `Endogenous` and `Damage` for packages below Poseidon v3.0.0..
13
+
- Made column `Damage` a list column.
14
+
- Added the option `WISC2013` to the column `Capture_Type`.
15
+
- Changed the handling of `_Note` columns. Previously they were explicitly specified and part of the `JannoRow` record type. Now they are just treated as arbitrary additional columns that get algorithmically sorted in when writing .janno files (e.g. in `forge`). See `makeHeaderWithAdditionalColumns`.
16
+
- Changes to .ssf columns according to Poseidon v3.0.0:
17
+
- New column `submitted_md5`.
18
+
- Changes to trident to accomodate the schema changes:
19
+
- Added warnings for characters outside of the recommended range in `Poseidon_ID`s and `Group_Names`.
20
+
- Introduced smart .janno field construction based on the relevant Poseidon version. Smart here means that different checks and even minor data transformations are applied depending on the input version. The written output always adheres to the latest Poseidon version a given trident version supports. trident does not perform a comprehensive "upgrade" of old data, though, which would e.g. entail replacing .janno columns.
21
+
- Added command line arguments to set the expected Poseidon version for individual input files when no `POSEIDON.yml` file is available in `validate` and `jannocoalesce`: `--pvJanno`, `--pvSSF`, `--pvSource`, and `--pvTarget`.
22
+
- Made `-o,--outFile` mandatory in `jannocoalesce`, even when a `-t,--targetFile` is overwritten, to avoid any confusion which version is written (always the latest trident supports!).
1
23
- V 1.6.9.1:
2
24
- Fixed [a bug](https://github.com/poseidon-framework/poseidon-hs/issues/365) related to forge-names of packages with hyphens and numbers.
Copy file name to clipboardExpand all lines: CHANGELOGRELEASE.md
+39Lines changed: 39 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,42 @@
1
+
### V 1.7.0.0
2
+
3
+
This is a major release to add compatibility with Poseidon v3.0.0. It includes features to accomodate the new schema, and various other changes added since the last release V 1.6.7.3.
4
+
5
+
#### `.janno`-related changes for Poseidon v3.0.0
6
+
7
+
For the new schema release we modified the data structures that internally store `.janno`, `.ssf` and even `POSEIDON.yml` files. Please consult the [schema changelog](https://www.poseidon-adna.org/#/changelog) for the list of affected columns.
8
+
9
+
To keep it possible to read older Poseidon packages we introduced "smart" `.janno` (and `.ssf`) field constructors based on the relevant Poseidon version. Smart here means that different checks and even minor data transformations are applied depending on the input version. This renders all valid input minimally compatible with Poseidon v3.0.0. trident does not perform a comprehensive "upgrade" of old data, though. That would also entail replacing outdated `.janno` columns like `Source_Tissue`. The most intrusive change that is actually implemented is a rescaling of the columns `Endogenous` and `Damage`, which are not stored as percentages any more in Poseidon v3.0.0. The output of trident, e.g. of `forge`, thus always adheres to the latest supported Poseidon version, but may carry along additional columns as free-text.
10
+
11
+
Another possibly surprising change in this context concerns the handling of `_Note` columns in the `.janno` file. Poseidon v3.0.0 does not explcitly define individual `_Note` columns any more, so trident equally does not validate them. It instead treats them as unspecified, free-text columns. It does sort them, though, so that `_Note` columns are at least positioned sensibly when trident writes `.janno` files.
12
+
13
+
#### Minor interface changes that emerged as a result
14
+
15
+
Beyond these changes in the handling of `.janno` files, V 1.7.0.0 also comes with some minor changes in the trident CLI interface:
16
+
17
+
1. The fact that we introduced smart, version-aware constructors when reading `.janno` and `.ssf` files has the consequence that the schema version must be known upon reading. We therefore added command line arguments for `validate` and `jannocoalesce` to set the expected Poseidon version when no `POSEIDON.yml` file is available: `--pvJanno`, `--pvSSF`, `--pvSource`, and `--pvTarget`. By default the latest supported schema version is assumed.
18
+
2. As explained above trident now can read different Poseidon version more explicitly, but it can always only write data following the latest schema. To avoid any confusion we made `-o,--outFile` mandatory in `jannocoalesce`, even when a `-t,--targetFile` is overwritten. Otherwise `--pvTarget` may be confused for a way to set the output version number.
19
+
3. Poseidon v3.0.0 recommends that `Poseidon_ID`s and `Group_Names` only include the ASCII characters "A-Za-z0-9_-.". trident now prints a warning if it encounters any characters outside of this recommended range in these fields.
20
+
21
+
#### New features for archive maintenance
22
+
23
+
trident is not only a CLI tool for personal data management, but also includes essential tooling for the maintenance and distribution of the public Poseidon archives. https://server.poseidon-adna.org is run by trident. In this context trident V 1.7.0.0 sports two new features:
24
+
25
+
1. The `--archiveConfigFile`, so the archive specification YAML file of the server, can now include a `retiredPackagesFile` field to specify retired packages. Retired packages are by default ignored in the `/packages`, `/groups`, `/bibliography` and `/individuals` endpoints,of the web API, as well as ignored in the archive HTML page of the explorer. However, the `/zip_file` API endpoint still serves retired packages, so that they can be downloaded. The retired packages are still available in the per-package explorer HTML page. This feature allows us to retire outdated packages, e.g. in the [community-archive](https://github.com/poseidon-framework/community-archive/blob/master/archive.retired).
26
+
2.`validate` now includes a mechanism to check for the presence and completeness of usually optional `.janno` and `.ssf` columns with `-j,--mandatoryJannoColumn` and `-s,--mandatorySSFColumn`. This feature will allow us to gradually make more fields mandatory in the public archives, beyond the three that are already required by the schema (`Poseidon_ID`, `Genetic_Sex`, `Group_Names`).
27
+
28
+
#### Fixed a subtle bug in the forge language
29
+
30
+
A user reported [an issue](https://github.com/poseidon-framework/poseidon-hs/issues/365) in the selection language parsing of `forge`, where package names with multiple hyphens and numbers caused the parsing to fail:
31
+
32
+
```
33
+
option --forgeString: Error when parsing the forge selection (either -f or --forgeFile):
34
+
unexpected "-"
35
+
expecting digit
36
+
```
37
+
38
+
We identified and fixed this bug.
39
+
1
40
### V 1.6.7.3
2
41
3
42
This is a minor release with few changes in the behaviour of trident. It mainly includes internal alterations that allow for better error reporting. On the user side there are three notable changes:
Copy file name to clipboardExpand all lines: poseidon-hs.cabal
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
name: poseidon-hs
2
-
version: 1.6.9.1
2
+
version: 1.7.0.0
3
3
synopsis: A package with tools for working with Poseidon genotype data
4
4
description: The tools in this package read and analyse Poseidon-formatted genotype databases, a modular system for storing genotype data from thousands of individuals.
0 commit comments