diff --git a/CHANGELOG.md b/CHANGELOG.md index 44b7040cf..bf8fadc13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +- V X.X.X.X: + - Introduced smart .janno field construction based on the relevant Poseidon version. + - Changes to .janno columns according to Poseidon v3.0.0: + - Replaced column `Source_Tissue` with column `Source_Material`. + - New column `Individual_ID`. + - New column `Species`. + - New column `Alternative_IDs_Context` linked to `Alternative_IDs`. + - New column `Custodian_Institution`. + - New columns `Cultural_Era` + `Cultural_Era_URL` and `Archaeological_Culture` + `Archaeological_Culture_URL`. + - New column `Chromosomal_Anomalies`. + - Made column `Collection_ID` a list column. + - Soft-retired the option `ReferenceGenome` in the column `Capture_Type`. + - Added rescaling feature for the columns `Endogenous` and `Damage` for packages below Poseidon v3.0.0.. + - Made column `Damage` a list column. + - Added the option `WISC2013` to the column `Capture_Type`. + - 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`. + - Changes to .ssf columns according to Poseidon v3.0.0: + - New column `submitted_md5`. - V 1.6.8.0: - Added a mechanism to check for the presence and completeness of usually optional .janno and .ssf columns. It is exclusively used in `validate`, where a user can set one or multiple of these additional mandatory columns with `-j,--mandatoryJannoColumn` and `-s,--mandatorySSFColumn`. - Fixed the golden tests for `validate`. They had become ineffective, because `validate` does not generate stdout any more. diff --git a/src/Poseidon/CLI/Jannocoalesce.hs b/src/Poseidon/CLI/Jannocoalesce.hs index 7486663f1..967124c83 100644 --- a/src/Poseidon/CLI/Jannocoalesce.hs +++ b/src/Poseidon/CLI/Jannocoalesce.hs @@ -3,28 +3,29 @@ module Poseidon.CLI.Jannocoalesce where -import Poseidon.Janno (JannoRow (..), JannoRows (..), - parseJannoRowFromNamedRecord, - readJannoFile, writeJannoFile) -import Poseidon.Package (PackageReadOptions (..), - defaultPackageReadOptions, - getJointJanno, - readPoseidonPackageCollection) -import Poseidon.Utils (PoseidonException (..), PoseidonIO, - logDebug, logInfo, logWarning) +import Poseidon.Janno (JannoRow (..), JannoRows (..), + parseJannoRowFromNamedRecord, + readJannoFile, writeJannoFile) +import Poseidon.Package (PackageReadOptions (..), + defaultPackageReadOptions, + getJointJanno, + readPoseidonPackageCollection) +import Poseidon.Utils (PoseidonException (..), PoseidonIO, + logDebug, logInfo, logWarning) -import Control.Monad (filterM, forM_, when) -import Control.Monad.Catch (MonadThrow, throwM) -import Control.Monad.IO.Class (liftIO) -import qualified Data.ByteString.Char8 as BSC -import qualified Data.Csv as Csv -import qualified Data.HashMap.Strict as HM -import qualified Data.IORef as R -import Data.List ((\\)) -import Data.Text (pack, replace, unpack) -import System.Directory (createDirectoryIfMissing) -import System.FilePath (takeDirectory) -import Text.Regex.TDFA ((=~)) +import Control.Monad (filterM, forM_, when) +import Control.Monad.Catch (MonadThrow, throwM) +import Control.Monad.IO.Class (liftIO) +import qualified Data.ByteString.Char8 as BSC +import qualified Data.Csv as Csv +import qualified Data.HashMap.Strict as HM +import qualified Data.IORef as R +import Data.List ((\\)) +import Data.Text (pack, replace, unpack) +import Poseidon.PoseidonVersion (latestPoseidonVersion) +import System.Directory (createDirectoryIfMissing) +import System.FilePath (takeDirectory) +import Text.Regex.TDFA ((=~)) -- the source can be a single janno file, or a set of base directories as usual. data JannoSourceSpec = JannoSourceSingle FilePath | JannoSourceBaseDirs [FilePath] @@ -48,7 +49,7 @@ data JannoCoalesceOptions = JannoCoalesceOptions runJannocoalesce :: JannoCoalesceOptions -> PoseidonIO () runJannocoalesce (JannoCoalesceOptions sourceSpec target outSpec fields overwrite sKey tKey maybeStrip) = do JannoRows sourceRows <- case sourceSpec of - JannoSourceSingle sourceFile -> readJannoFile [] sourceFile + JannoSourceSingle sourceFile -> readJannoFile latestPoseidonVersion [] sourceFile JannoSourceBaseDirs sourceDirs -> do let pacReadOpts = defaultPackageReadOptions { _readOptIgnoreChecksums = True @@ -57,7 +58,7 @@ runJannocoalesce (JannoCoalesceOptions sourceSpec target outSpec fields overwrit , _readOptOnlyLatest = True } getJointJanno <$> readPoseidonPackageCollection pacReadOpts sourceDirs - JannoRows targetRows <- readJannoFile [] target + JannoRows targetRows <- readJannoFile latestPoseidonVersion [] target newJanno <- makeNewJannoRows sourceRows targetRows fields overwrite sKey tKey maybeStrip @@ -123,7 +124,7 @@ mergeRow cp targetRow sourceRow fields overwrite sKey tKey = do -- fill in the target row with dummy values for desired fields that might not be present yet targetComplete = HM.union targetRowRecord (HM.fromList $ map (, BSC.empty) sourceKeysDesired) newRowRecord = HM.mapWithKey fillFromSource targetComplete - parseResult = Csv.runParser . parseJannoRowFromNamedRecord [] $ newRowRecord + parseResult = Csv.runParser . parseJannoRowFromNamedRecord latestPoseidonVersion [] $ newRowRecord logInfo $ "matched target " ++ BSC.unpack (targetComplete HM.! BSC.pack tKey) ++ " with source " ++ BSC.unpack (sourceRowRecord HM.! BSC.pack sKey) case parseResult of diff --git a/src/Poseidon/CLI/Rectify.hs b/src/Poseidon/CLI/Rectify.hs index 32abbde6c..37760edd1 100644 --- a/src/Poseidon/CLI/Rectify.hs +++ b/src/Poseidon/CLI/Rectify.hs @@ -4,32 +4,34 @@ module Poseidon.CLI.Rectify ( runRectify, RectifyOptions (..), PackageVersionUpdate (..), ChecksumsToRectify (..) ) where -import Poseidon.Contributor (ContributorSpec (..)) -import Poseidon.EntityTypes (HasNameAndVersion (..), - PacNameAndVersion (..), - renderNameWithVersion) -import Poseidon.GenotypeData (GenotypeDataSpec (..), - GenotypeFileSpec (..)) -import Poseidon.Janno (writeJannoFileWithoutEmptyCols) -import Poseidon.Package (PackageReadOptions (..), - PoseidonPackage (..), - defaultPackageReadOptions, - readPoseidonPackageCollection, - writePoseidonPackage) -import Poseidon.Utils (PoseidonIO, getChecksum, logDebug, - logInfo, logWarning) -import Poseidon.Version (VersionComponent (..), - updateThreeComponentVersion) +import Poseidon.Contributor (ContributorSpec (..)) +import Poseidon.EntityTypes (HasNameAndVersion (..), + PacNameAndVersion (..), + renderNameWithVersion) +import Poseidon.GenotypeData (GenotypeDataSpec (..), + GenotypeFileSpec (..)) +import Poseidon.Janno (writeJannoFileWithoutEmptyCols) +import Poseidon.Package (PackageReadOptions (..), + PoseidonPackage (..), + defaultPackageReadOptions, + readPoseidonPackageCollection, + writePoseidonPackage) +import Poseidon.PoseidonVersion (PoseidonVersion (..)) +import Poseidon.Utils (PoseidonIO, getChecksum, logDebug, + logInfo, logWarning) +import Poseidon.Version (VersionComponent (..), + updateThreeComponentVersion) -import Control.DeepSeq ((<$!!>)) -import Control.Monad (when) -import Control.Monad.IO.Class (MonadIO, liftIO) -import Data.List (nub) -import Data.Maybe (fromJust) -import Data.Time (UTCTime (..), getCurrentTime) -import Data.Version (Version (..), makeVersion, showVersion) -import System.Directory (doesFileExist, removeFile) -import System.FilePath (()) +import Control.DeepSeq ((<$!!>)) +import Control.Monad (when) +import Control.Monad.IO.Class (MonadIO, liftIO) +import Data.List (nub) +import Data.Maybe (fromJust) +import Data.Time (UTCTime (..), getCurrentTime) +import Data.Version (Version (..), makeVersion, + showVersion) +import System.Directory (doesFileExist, removeFile) +import System.FilePath (()) data RectifyOptions = RectifyOptions { _rectifyBaseDirs :: [FilePath] @@ -96,7 +98,7 @@ updatePoseidonVersion :: Maybe Version -> PoseidonPackage -> PoseidonIO Poseidon updatePoseidonVersion Nothing pac = return pac updatePoseidonVersion (Just ver) pac = do logDebug "Updating Poseidon version" - return pac { posPacPoseidonVersion = ver } + return pac { posPacPoseidonVersion = PoseidonVersion ver } addContributors :: Maybe [ContributorSpec] -> PoseidonPackage -> PoseidonIO PoseidonPackage addContributors Nothing pac = return pac diff --git a/src/Poseidon/CLI/Validate.hs b/src/Poseidon/CLI/Validate.hs index 6e1e76158..0866a1685 100644 --- a/src/Poseidon/CLI/Validate.hs +++ b/src/Poseidon/CLI/Validate.hs @@ -27,6 +27,7 @@ import qualified Data.ByteString.Char8 as Bchs import Data.List (groupBy, intercalate, sortOn) import Data.Yaml (decodeEither') import Poseidon.EntityTypes (IndividualInfo (..)) +import Poseidon.PoseidonVersion (latestPoseidonVersion) import System.Exit (exitFailure, exitSuccess) -- | A datatype representing command line options for the validate command @@ -106,12 +107,12 @@ runValidate (ValidateOptions (ValPlanGeno geno) _ _ noExitCode _) = do conclude True noExitCode runValidate (ValidateOptions (ValPlanJanno path) mandatoryJannoCols _ noExitCode _) = do logInfo $ "Validating: " ++ path - (JannoRows entries) <- readJannoFile mandatoryJannoCols path + (JannoRows entries) <- readJannoFile latestPoseidonVersion mandatoryJannoCols path logInfo $ "All " ++ show (length entries) ++ " entries are valid" conclude True noExitCode runValidate (ValidateOptions (ValPlanSSF path) _ mandatorySSFCols noExitCode _) = do logInfo $ "Validating: " ++ path - (SeqSourceRows entries) <- readSeqSourceFile mandatorySSFCols path + (SeqSourceRows entries) <- readSeqSourceFile latestPoseidonVersion mandatorySSFCols path logInfo $ "All " ++ show (length entries) ++ " entries are valid" conclude True noExitCode runValidate (ValidateOptions (ValPlanBib path) _ _ noExitCode _) = do diff --git a/src/Poseidon/ColumnTypesJanno.hs b/src/Poseidon/ColumnTypesJanno.hs index 33bff4935..6cc3cfd72 100644 --- a/src/Poseidon/ColumnTypesJanno.hs +++ b/src/Poseidon/ColumnTypesJanno.hs @@ -12,15 +12,17 @@ import Country (Country, alphaTwoUpper, import qualified Data.Csv as Csv import qualified Data.Text as T import qualified Data.Text.Read as T +import Data.Version (makeVersion) import GHC.Generics (Generic) import Network.URI (isURIReference) +import Poseidon.PoseidonVersion import SequenceFormats.Eigenstrat (Sex (..)) -- | A datatype for the Genetic_Sex .janno column newtype GeneticSex = GeneticSex { sfSex :: Sex } deriving (Eq) instance Makeable GeneticSex where - make x + make _ x | x == "F" = pure (GeneticSex Female) | x == "M" = pure (GeneticSex Male) | x == "U" = pure (GeneticSex Unknown) @@ -40,16 +42,28 @@ instance Ord GeneticSex where compare (GeneticSex Unknown) (GeneticSex Female) = LT compare _ _ = EQ instance Csv.ToField GeneticSex where toField x = Csv.toField $ show x -instance Csv.FromField GeneticSex where parseField = parseTypeCSV "Genetic_Sex" +instance FromFieldVersioned GeneticSex where parseFieldVersioned pv = parseTypeCSV pv "Genetic_Sex" -- | A datatype for the Group_Name .janno column newtype GroupName = GroupName T.Text deriving (Eq, Ord) $(makeInstances ''GroupName "Group_Name") +-- | A datatype for the Individual_ID .janno column +newtype JannoIndividualID = JannoIndividualID T.Text deriving (Eq, Ord) +$(makeInstances ''JannoIndividualID "Individual_ID") + +-- | A datatype for the Species .janno column +newtype JannoSpecies = JannoSpecies T.Text deriving (Eq, Ord) +$(makeInstances ''JannoSpecies "Species") + -- | A datatype for the Alternative_IDs .janno column newtype JannoAlternativeID = JannoAlternativeID T.Text deriving (Eq) $(makeInstances ''JannoAlternativeID "Alternative_IDs") +-- | A datatype for the Alternative_IDs_Context .janno column +newtype JannoAlternativeIDContext = JannoAlternativeIDContext T.Text deriving (Eq) +$(makeInstances ''JannoAlternativeIDContext "Alternative_IDs_Context") + -- | A datatype for the Relation_To .janno column newtype JannoRelationTo = JannoRelationTo T.Text deriving (Eq) $(makeInstances ''JannoRelationTo "Relation_To") @@ -66,7 +80,7 @@ data JannoRelationDegree = deriving (Eq, Ord, Generic, Enum, Bounded) instance Makeable JannoRelationDegree where - make x + make _ x | x == "identical" = pure Identical | x == "first" = pure First | x == "second" = pure Second @@ -88,20 +102,62 @@ instance Show JannoRelationDegree where show Unrelated = "unrelated" show OtherDegree = "other" instance Csv.ToField JannoRelationDegree where toField x = Csv.toField $ show x -instance Csv.FromField JannoRelationDegree where parseField = parseTypeCSV "Relation_Degree" +instance FromFieldVersioned JannoRelationDegree where parseFieldVersioned pv = parseTypeCSV pv "Relation_Degree" -- | A datatype for the Relation_Type .janno column newtype JannoRelationType = JannoRelationType T.Text deriving (Eq) $(makeInstances ''JannoRelationType "Relation_Type") --- | A datatype for the Relation_Note .janno column -newtype JannoRelationNote = JannoRelationNote T.Text deriving (Eq) -$(makeInstances ''JannoRelationNote "Relation_Note") - -- | A datatype for the Collection_ID .janno column newtype JannoCollectionID = JannoCollectionID T.Text deriving (Eq) $(makeInstances ''JannoCollectionID "Collection_ID") +-- | A datatype for the Custodian_Institution .janno column +newtype JannoCustodianInstitution = JannoCustodianInstitution T.Text deriving (Eq) +$(makeInstances ''JannoCustodianInstitution "Custodian_Institution") + +-- | A datatype for the Cultural_Era .janno column +newtype JannoCulturalEra = JannoCulturalEra T.Text deriving (Eq) +$(makeInstances ''JannoCulturalEra "Cultural_Era") + +-- | A datatype for the Cultural_Era_URL .janno column +newtype JannoCulturalEraURL = JannoCulturalEraURL T.Text deriving (Eq, Ord, Generic) + +instance Makeable JannoCulturalEraURL where + make _ x + | isURIReference (T.unpack x) = pure $ JannoCulturalEraURL x + | otherwise = fail $ "Cultural_Era_URL " ++ show x ++ " is not a well structured URI." +instance Suspicious JannoCulturalEraURL where + inspect (JannoCulturalEraURL x) + | T.isInfixOf "n2t.net/ark" x = Nothing + | T.isInfixOf "chronontology.dainst.org/period" x = Nothing + | otherwise = Just ["Archaeological_Culture_URL " ++ show x ++ " probably not a valid PeriodO \ + \or ChronOntology permalink."] +instance Show JannoCulturalEraURL where show (JannoCulturalEraURL x) = T.unpack x +instance Csv.ToField JannoCulturalEraURL where toField (JannoCulturalEraURL x) = Csv.toField x +instance FromFieldVersioned JannoCulturalEraURL where parseFieldVersioned pv = parseTypeCSV pv "Cultural_Era_URL" + +-- | A datatype for the Archaeological_Culture .janno column +newtype JannoArchaeologicalCulture = JannoArchaeologicalCulture T.Text deriving (Eq) +$(makeInstances ''JannoArchaeologicalCulture "Archaeological_Culture") + +-- | A datatype for the Archaeological_Culture_URL .janno column +newtype JannoArchaeologicalCultureURL = JannoArchaeologicalCultureURL T.Text deriving (Eq, Ord, Generic) + +instance Makeable JannoArchaeologicalCultureURL where + make _ x + | isURIReference (T.unpack x) = pure $ JannoArchaeologicalCultureURL x + | otherwise = fail $ "Archaeological_Culture_URL " ++ show x ++ " is not a well structured URI." +instance Suspicious JannoArchaeologicalCultureURL where + inspect (JannoArchaeologicalCultureURL x) + | T.isInfixOf "n2t.net/ark" x = Nothing + | T.isInfixOf "chronontology.dainst.org/period" x = Nothing + | otherwise = Just ["Archaeological_Culture_URL " ++ show x ++ " probably not a valid PeriodO \ + \or ChronOntology permalink."] +instance Show JannoArchaeologicalCultureURL where show (JannoArchaeologicalCultureURL x) = T.unpack x +instance Csv.ToField JannoArchaeologicalCultureURL where toField (JannoArchaeologicalCultureURL x) = Csv.toField x +instance FromFieldVersioned JannoArchaeologicalCultureURL where parseFieldVersioned pv = parseTypeCSV pv "Archaeological_Culture_URL" + -- | A datatype for the Country .janno column newtype JannoCountry = JannoCountry T.Text deriving (Eq, Ord) $(makeInstances ''JannoCountry "Country") @@ -112,14 +168,14 @@ newtype JannoCountryISO = JannoCountryISO Country deriving (Eq, Ord) instance Show JannoCountryISO where show (JannoCountryISO x) = T.unpack $ alphaTwoUpper x instance Makeable JannoCountryISO where - make x = case decodeAlphaTwo x of + make _ x = case decodeAlphaTwo x of Nothing -> fail $ "Country_ISO is set to " ++ show x ++ ". " ++ "That is not a valid ISO-alpha2 code describing an existing country." Just c -> return $ JannoCountryISO c instance Suspicious JannoCountryISO where inspect _ = Nothing instance Csv.ToField JannoCountryISO where toField x = Csv.toField $ show x -instance Csv.FromField JannoCountryISO where parseField = parseTypeCSV "Country_ISO" +instance FromFieldVersioned JannoCountryISO where parseFieldVersioned pv = parseTypeCSV pv "Country_ISO" -- | A datatype for the Location .janno column newtype JannoLocation = JannoLocation T.Text deriving (Eq) @@ -133,7 +189,7 @@ $(makeInstances ''JannoSite "Site") newtype JannoLatitude = JannoLatitude Double deriving (Eq, Ord, Generic) instance Makeable JannoLatitude where - make x = + make _ x = case T.double x of Left e -> fail $ "Latitude can not be converted to Double because " ++ e Right (num, "") -> @@ -144,13 +200,13 @@ instance Makeable JannoLatitude where instance Suspicious JannoLatitude where inspect _ = Nothing instance Show JannoLatitude where show (JannoLatitude x) = show x instance Csv.ToField JannoLatitude where toField (JannoLatitude x) = Csv.toField x -instance Csv.FromField JannoLatitude where parseField = parseTypeCSV "Latitude" +instance FromFieldVersioned JannoLatitude where parseFieldVersioned pv = parseTypeCSV pv "Latitude" -- | A datatype for the Longitude .janno column newtype JannoLongitude = JannoLongitude Double deriving (Eq, Ord, Generic) instance Makeable JannoLongitude where - make x = + make _ x = case T.double x of Left e -> fail $ "Longitude can not be converted to Double because " ++ e Right (num, "") -> @@ -161,7 +217,7 @@ instance Makeable JannoLongitude where instance Suspicious JannoLongitude where inspect _ = Nothing instance Show JannoLongitude where show (JannoLongitude x) = show x instance Csv.ToField JannoLongitude where toField (JannoLongitude x) = Csv.toField x -instance Csv.FromField JannoLongitude where parseField = parseTypeCSV "Longitude" +instance FromFieldVersioned JannoLongitude where parseFieldVersioned pv = parseTypeCSV pv "Longitude" -- | A datatype for the Date_Type .janno column data JannoDateType = @@ -171,7 +227,7 @@ data JannoDateType = deriving (Eq, Ord, Generic, Enum, Bounded) instance Makeable JannoDateType where - make x + make _ x | x == "C14" = pure C14 | x == "contextual" = pure Contextual | x == "modern" = pure Modern @@ -183,7 +239,7 @@ instance Show JannoDateType where show Contextual = "contextual" show Modern = "modern" instance Csv.ToField JannoDateType where toField x = Csv.toField $ show x -instance Csv.FromField JannoDateType where parseField = parseTypeCSV "Date_Type" +instance FromFieldVersioned JannoDateType where parseFieldVersioned pv = parseTypeCSV pv "Date_Type" -- | A datatype for the Date_C14_Labnr .janno column newtype JannoDateC14Labnr = JannoDateC14Labnr T.Text deriving (Eq) @@ -193,7 +249,7 @@ $(makeInstances ''JannoDateC14Labnr "Date_C14_Labnr") newtype JannoDateC14UncalBP = JannoDateC14UncalBP Int deriving (Eq, Ord, Generic) instance Makeable JannoDateC14UncalBP where - make x = + make _ x = case T.decimal x of Left e -> fail $ "Date_C14_Uncal_BP can not be converted to Int because " ++ e Right (num, "") -> pure $ JannoDateC14UncalBP num @@ -205,13 +261,13 @@ instance Suspicious JannoDateC14UncalBP where | otherwise = Nothing instance Show JannoDateC14UncalBP where show (JannoDateC14UncalBP x) = show x instance Csv.ToField JannoDateC14UncalBP where toField (JannoDateC14UncalBP x) = Csv.toField x -instance Csv.FromField JannoDateC14UncalBP where parseField = parseTypeCSV "Date_C14_Uncal_BP" +instance FromFieldVersioned JannoDateC14UncalBP where parseFieldVersioned pv = parseTypeCSV pv "Date_C14_Uncal_BP" -- | A datatype for the Date_C14_Uncal_BP_Err .janno column newtype JannoDateC14UncalBPErr = JannoDateC14UncalBPErr Int deriving (Eq, Ord, Generic) instance Makeable JannoDateC14UncalBPErr where - make x = + make _ x = case T.decimal x of Left e -> fail $ "Date_C14_Uncal_BP_Err can not be converted to Int because " ++ e Right (num, "") -> pure $ JannoDateC14UncalBPErr num @@ -219,13 +275,13 @@ instance Makeable JannoDateC14UncalBPErr where instance Suspicious JannoDateC14UncalBPErr where inspect _ = Nothing instance Show JannoDateC14UncalBPErr where show (JannoDateC14UncalBPErr x) = show x instance Csv.ToField JannoDateC14UncalBPErr where toField (JannoDateC14UncalBPErr x) = Csv.toField x -instance Csv.FromField JannoDateC14UncalBPErr where parseField = parseTypeCSV "Date_C14_Uncal_BP_Err" +instance FromFieldVersioned JannoDateC14UncalBPErr where parseFieldVersioned pv = parseTypeCSV pv "Date_C14_Uncal_BP_Err" -- | A datatype for the Date_BC_AD_Start .janno column newtype JannoDateBCADStart = JannoDateBCADStart Int deriving (Eq, Ord, Generic) instance Makeable JannoDateBCADStart where - make x = + make _ x = let curYear = 2024 -- the current year in case T.signed T.decimal x of Left e -> fail $ "Date_BC_AD_Start can not be converted to Int because " ++ e @@ -238,13 +294,13 @@ instance Makeable JannoDateBCADStart where instance Suspicious JannoDateBCADStart where inspect _ = Nothing instance Show JannoDateBCADStart where show (JannoDateBCADStart x) = show x instance Csv.ToField JannoDateBCADStart where toField (JannoDateBCADStart x) = Csv.toField x -instance Csv.FromField JannoDateBCADStart where parseField = parseTypeCSV "Date_BC_AD_Start" +instance FromFieldVersioned JannoDateBCADStart where parseFieldVersioned pv = parseTypeCSV pv "Date_BC_AD_Start" -- | A datatype for the Date_BC_AD_Median .janno column newtype JannoDateBCADMedian = JannoDateBCADMedian Int deriving (Eq, Ord, Generic) instance Makeable JannoDateBCADMedian where - make x = + make _ x = let curYear = 2024 -- the current year in case T.signed T.decimal x of Left e -> fail $ "Date_BC_AD_Median can not be converted to Int because " ++ e @@ -257,13 +313,13 @@ instance Makeable JannoDateBCADMedian where instance Suspicious JannoDateBCADMedian where inspect _ = Nothing instance Show JannoDateBCADMedian where show (JannoDateBCADMedian x) = show x instance Csv.ToField JannoDateBCADMedian where toField (JannoDateBCADMedian x) = Csv.toField x -instance Csv.FromField JannoDateBCADMedian where parseField = parseTypeCSV "Date_BC_AD_Median" +instance FromFieldVersioned JannoDateBCADMedian where parseFieldVersioned pv = parseTypeCSV pv "Date_BC_AD_Median" -- | A datatype for the Date_BC_AD_Stop .janno column newtype JannoDateBCADStop = JannoDateBCADStop Int deriving (Eq, Ord, Generic) instance Makeable JannoDateBCADStop where - make x = + make _ x = let curYear = 2024 -- the current year in case T.signed T.decimal x of Left e -> fail $ "Date_BC_AD_Stop can not be converted to Int because " ++ e @@ -276,11 +332,11 @@ instance Makeable JannoDateBCADStop where instance Suspicious JannoDateBCADStop where inspect _ = Nothing instance Show JannoDateBCADStop where show (JannoDateBCADStop x) = show x instance Csv.ToField JannoDateBCADStop where toField (JannoDateBCADStop x) = Csv.toField x -instance Csv.FromField JannoDateBCADStop where parseField = parseTypeCSV "Date_BC_AD_Stop" +instance FromFieldVersioned JannoDateBCADStop where parseFieldVersioned pv = parseTypeCSV pv "Date_BC_AD_Stop" --- | A datatype for the Date_Note .janno column -newtype JannoDateNote = JannoDateNote T.Text deriving (Eq, Ord) -$(makeInstances ''JannoDateNote "Date_Note") +-- | A datatype for the Chromosomal_Anomalies .janno column +newtype JannoChromosomalAnomalies = JannoChromosomalAnomalies T.Text deriving (Eq) +$(makeInstances ''JannoChromosomalAnomalies "Chromosomal_Anomalies") -- | A datatype for the MT_Haplogroup .janno column newtype JannoMTHaplogroup = JannoMTHaplogroup T.Text deriving (Eq, Ord) @@ -290,15 +346,46 @@ $(makeInstances ''JannoMTHaplogroup "MT_Haplogroup") newtype JannoYHaplogroup = JannoYHaplogroup T.Text deriving (Eq, Ord) $(makeInstances ''JannoYHaplogroup "Y_Haplogroup") --- | A datatype for the Source_Tissue .janno column -newtype JannoSourceTissue = JannoSourceTissue T.Text deriving (Eq) -$(makeInstances ''JannoSourceTissue "Source_Tissue") +-- | A datatype for the Source_Material .janno column +data JannoSourceMaterial = + MaterialPetrous + | MaterialBone + | MaterialTooth + | MaterialHair + | MaterialSoft + | MaterialSediment + | MaterialOther + deriving (Eq, Ord, Generic, Enum, Bounded) + +instance Makeable JannoSourceMaterial where + make _ x + | x == "petrous" = pure MaterialPetrous + | x == "bone" = pure MaterialBone + | x == "tooth" = pure MaterialTooth + | x == "hair" = pure MaterialHair + | x == "soft" = pure MaterialSoft + | x == "sediment" = pure MaterialSediment + | x == "other" = pure MaterialOther + | otherwise = fail $ "Source_Material is set to " ++ show x ++ ". " ++ + "That is not in the allowed set [petrous, bone, tooth, hair, \ + \soft, sediment, other]." +instance Suspicious JannoSourceMaterial where inspect _ = Nothing +instance Show JannoSourceMaterial where + show MaterialPetrous = "petrous" + show MaterialBone = "bone" + show MaterialTooth = "tooth" + show MaterialHair = "hair" + show MaterialSoft = "soft" + show MaterialSediment = "sediment" + show MaterialOther = "other" +instance Csv.ToField JannoSourceMaterial where toField x = Csv.toField $ show x +instance FromFieldVersioned JannoSourceMaterial where parseFieldVersioned pv = parseTypeCSV pv "Source_Material" -- | A datatype for the Nr_Libraries .janno column newtype JannoNrLibraries = JannoNrLibraries Int deriving (Eq, Ord, Generic) instance Makeable JannoNrLibraries where - make x = + make _ x = case T.signed T.decimal x of Left e -> fail $ "Nr_Libraries can not be converted to Int because " ++ e Right (num, "") -> @@ -309,7 +396,7 @@ instance Makeable JannoNrLibraries where instance Suspicious JannoNrLibraries where inspect _ = Nothing instance Show JannoNrLibraries where show (JannoNrLibraries x) = show x instance Csv.ToField JannoNrLibraries where toField (JannoNrLibraries x) = Csv.toField x -instance Csv.FromField JannoNrLibraries where parseField = parseTypeCSV "Nr_Libraries" +instance FromFieldVersioned JannoNrLibraries where parseFieldVersioned pv = parseTypeCSV pv "Nr_Libraries" -- | A datatype for the Library_Names .janno column newtype JannoLibraryName = JannoLibraryName T.Text deriving (Eq) @@ -323,36 +410,41 @@ data JannoCaptureType = | ArborPrimePlus | ArborAncestralPlus | TwistAncientDNA + | WISC2013 | OtherCapture - | ReferenceGenome + | LegacyReferenceGenome -- was removed in Poseidon v3.0.0, kept here for compatibility deriving (Eq, Ord, Generic, Enum, Bounded) instance Makeable JannoCaptureType where - make x + make pv x | x == "Shotgun" = pure Shotgun | x == "1240K" = pure A1240K | x == "ArborComplete" = pure ArborComplete | x == "ArborPrimePlus" = pure ArborPrimePlus | x == "ArborAncestralPlus" = pure ArborAncestralPlus | x == "TwistAncientDNA" = pure TwistAncientDNA + | x == "WISC2013" = pure WISC2013 | x == "OtherCapture" = pure OtherCapture - | x == "ReferenceGenome" = pure ReferenceGenome - | otherwise = fail $ "Capture_Type is set to " ++ show x ++ ". " ++ - "That is not in the allowed set [Shotgun, 1240K, ArborComplete, \ - \ArborPrimePlus, ArborAncestralPlus, TwistAncientDNA, OtherCapture, \ - \ReferenceGenome]." + | otherwise = + if x == "ReferenceGenome" && asVersion pv < makeVersion [3,0,0] + then pure LegacyReferenceGenome + else fail $ "Capture_Type is set to " ++ show x ++ ". " ++ + "That is not in the allowed set [Shotgun, 1240K, ArborComplete, \ + \ArborPrimePlus, ArborAncestralPlus, TwistAncientDNA, WISC2013, \ + \OtherCapture]. Note that ReferenceGenome was retired in Poseidon v3.0.0." instance Suspicious JannoCaptureType where inspect _ = Nothing instance Show JannoCaptureType where - show Shotgun = "Shotgun" - show A1240K = "1240K" - show ArborComplete = "ArborComplete" - show ArborPrimePlus = "ArborPrimePlus" - show ArborAncestralPlus = "ArborAncestralPlus" - show TwistAncientDNA = "TwistAncientDNA" - show OtherCapture = "OtherCapture" - show ReferenceGenome = "ReferenceGenome" + show Shotgun = "Shotgun" + show A1240K = "1240K" + show ArborComplete = "ArborComplete" + show ArborPrimePlus = "ArborPrimePlus" + show ArborAncestralPlus = "ArborAncestralPlus" + show TwistAncientDNA = "TwistAncientDNA" + show WISC2013 = "WISC2013" + show OtherCapture = "OtherCapture" + show LegacyReferenceGenome = "ReferenceGenome" instance Csv.ToField JannoCaptureType where toField x = Csv.toField $ show x -instance Csv.FromField JannoCaptureType where parseField = parseTypeCSV "Capture_Type" +instance FromFieldVersioned JannoCaptureType where parseFieldVersioned pv = parseTypeCSV pv "Capture_Type" -- | A datatype for the UDG .janno column data JannoUDG = @@ -363,7 +455,7 @@ data JannoUDG = deriving (Eq, Ord, Generic, Enum, Bounded) instance Makeable JannoUDG where - make x + make _ x | x == "minus" = pure Minus | x == "half" = pure Half | x == "plus" = pure Plus @@ -377,7 +469,7 @@ instance Show JannoUDG where show Plus = "plus" show Mixed = "mixed" instance Csv.ToField JannoUDG where toField x = Csv.toField $ show x -instance Csv.FromField JannoUDG where parseField = parseTypeCSV "UDG" +instance FromFieldVersioned JannoUDG where parseFieldVersioned pv = parseTypeCSV pv "UDG" -- | A datatype for the Library_Built .janno column data JannoLibraryBuilt = @@ -388,7 +480,7 @@ data JannoLibraryBuilt = deriving (Eq, Ord, Generic, Enum, Bounded) instance Makeable JannoLibraryBuilt where - make x + make _ x | x == "ds" = pure DS | x == "ss" = pure SS | x == "mixed" = pure MixedSSDS @@ -402,7 +494,7 @@ instance Show JannoLibraryBuilt where show MixedSSDS = "mixed" show Other = "other" instance Csv.ToField JannoLibraryBuilt where toField x = Csv.toField $ show x -instance Csv.FromField JannoLibraryBuilt where parseField = parseTypeCSV "Library_Built" +instance FromFieldVersioned JannoLibraryBuilt where parseFieldVersioned pv = parseTypeCSV pv "Library_Built" -- | A datatype for the Genotype_Ploidy .janno column data JannoGenotypePloidy = @@ -411,7 +503,7 @@ data JannoGenotypePloidy = deriving (Eq, Ord, Generic, Enum, Bounded) instance Makeable JannoGenotypePloidy where - make x + make _ x | x == "diploid" = pure Diploid | x == "haploid" = pure Haploid | otherwise = fail $ "Genotype_Ploidy is set to " ++ show x ++ ". " ++ @@ -421,42 +513,48 @@ instance Show JannoGenotypePloidy where show Diploid = "diploid" show Haploid = "haploid" instance Csv.ToField JannoGenotypePloidy where toField x = Csv.toField $ show x -instance Csv.FromField JannoGenotypePloidy where parseField = parseTypeCSV "Genotype_Ploidy" +instance FromFieldVersioned JannoGenotypePloidy where parseFieldVersioned pv = parseTypeCSV pv "Genotype_Ploidy" -- | A datatype for the Genotype_Ploidy .janno column newtype JannoDataPreparationPipelineURL = JannoDataPreparationPipelineURL T.Text deriving (Eq, Ord, Generic) instance Makeable JannoDataPreparationPipelineURL where - make x + make _ x | isURIReference (T.unpack x) = pure $ JannoDataPreparationPipelineURL x | otherwise = fail $ "Data_Preparation_Pipeline_URL " ++ show x ++ " is not a well structured URI." instance Suspicious JannoDataPreparationPipelineURL where inspect _ = Nothing instance Show JannoDataPreparationPipelineURL where show (JannoDataPreparationPipelineURL x) = T.unpack x instance Csv.ToField JannoDataPreparationPipelineURL where toField (JannoDataPreparationPipelineURL x) = Csv.toField x -instance Csv.FromField JannoDataPreparationPipelineURL where parseField = parseTypeCSV "Data_Preparation_Pipeline_URL" +instance FromFieldVersioned JannoDataPreparationPipelineURL where parseFieldVersioned pv = parseTypeCSV pv "Data_Preparation_Pipeline_URL" -- | A datatype for the Endogenous .janno column newtype JannoEndogenous = JannoEndogenous Double deriving (Eq, Ord, Generic) instance Makeable JannoEndogenous where - make x = + make pv x = case T.double x of Left e -> fail $ "Endogenous can not be converted to Double because " ++ e Right (num, "") -> - if num >= 0 && num <= 100 - then pure (JannoEndogenous num) - else fail $ "Endogenous " ++ show x ++ " not between 0 and 100." + if asVersion pv >= makeVersion [3,0,0] + then do + if num >= 0 && num <= 1 + then pure (JannoEndogenous num) + else fail $ "Endogenous " ++ show x ++ " not between 0 and 1." + else do + if num >= 0 && num <= 100 + then pure (JannoEndogenous $ num / 100) -- rescale to 0-1 + else fail $ "Endogenous " ++ show x ++ " not between 0 and 100." Right (_, rest) -> fail $ "Endogenous can not be converted to Double, because of a trailing " ++ show rest instance Suspicious JannoEndogenous where inspect _ = Nothing instance Show JannoEndogenous where show (JannoEndogenous x) = show x instance Csv.ToField JannoEndogenous where toField (JannoEndogenous x) = Csv.toField x -instance Csv.FromField JannoEndogenous where parseField = parseTypeCSV "Endogenous" +instance FromFieldVersioned JannoEndogenous where parseFieldVersioned pv = parseTypeCSV pv "Endogenous" -- | A datatype for the Nr_SNPs .janno column newtype JannoNrSNPs = JannoNrSNPs Int deriving (Eq, Ord, Generic) instance Makeable JannoNrSNPs where - make x = + make _ x = case T.signed T.decimal x of Left e -> fail $ "Nr_SNPs can not be converted to Int because " ++ e Right (num, "") -> @@ -470,13 +568,13 @@ instance Suspicious JannoNrSNPs where | otherwise = Nothing instance Show JannoNrSNPs where show (JannoNrSNPs x) = show x instance Csv.ToField JannoNrSNPs where toField (JannoNrSNPs x) = Csv.toField x -instance Csv.FromField JannoNrSNPs where parseField = parseTypeCSV "Nr_SNPs" +instance FromFieldVersioned JannoNrSNPs where parseFieldVersioned pv = parseTypeCSV pv "Nr_SNPs" -- | A datatype for the Coverage_on_Target_SNPs .janno column newtype JannoCoverageOnTargets = JannoCoverageOnTargets Double deriving (Eq, Ord, Generic) instance Makeable JannoCoverageOnTargets where - make x = + make _ x = case T.double x of Left e -> fail $ "Coverage_on_Target_SNPs can not be converted to Double because " ++ e Right (num, "") -> pure (JannoCoverageOnTargets num) @@ -484,24 +582,30 @@ instance Makeable JannoCoverageOnTargets where instance Suspicious JannoCoverageOnTargets where inspect _ = Nothing instance Show JannoCoverageOnTargets where show (JannoCoverageOnTargets x) = show x instance Csv.ToField JannoCoverageOnTargets where toField (JannoCoverageOnTargets x) = Csv.toField x -instance Csv.FromField JannoCoverageOnTargets where parseField = parseTypeCSV "Coverage_on_Target_SNPs" +instance FromFieldVersioned JannoCoverageOnTargets where parseFieldVersioned pv = parseTypeCSV pv "Coverage_on_Target_SNPs" -- | A datatype for the Damage .janno column newtype JannoDamage = JannoDamage Double deriving (Eq, Ord, Generic) instance Makeable JannoDamage where - make x = + make pv x = case T.double x of Left e -> fail $ "Damage can not be converted to Double because " ++ e Right (num, "") -> - if num >= 0 && num <= 100 - then pure (JannoDamage num) - else fail $ "Damage " ++ show x ++ " not between 0 and 100." + if asVersion pv >= makeVersion [3,0,0] + then do + if num >= 0 && num <= 1 + then pure (JannoDamage num) + else fail $ "Damage " ++ show x ++ " not between 0 and 1." + else do + if num >= 0 && num <= 100 + then pure (JannoDamage $ num / 100) -- rescale to 0-1 + else fail $ "Damage " ++ show x ++ " not between 0 and 100." Right (_, rest) -> fail $ "Damage can not be converted to Double, because of a trailing " ++ show rest instance Suspicious JannoDamage where inspect _ = Nothing instance Show JannoDamage where show (JannoDamage x) = show x instance Csv.ToField JannoDamage where toField (JannoDamage x) = Csv.toField x -instance Csv.FromField JannoDamage where parseField = parseTypeCSV "Damage" +instance FromFieldVersioned JannoDamage where parseFieldVersioned pv = parseTypeCSV pv "Damage" -- | A datatype for the Contamination .janno column newtype JannoContamination = JannoContamination T.Text deriving (Eq) @@ -515,21 +619,17 @@ $(makeInstances ''JannoContaminationErr "Contamination_Err") newtype JannoContaminationMeas = JannoContaminationMeas T.Text deriving (Eq) $(makeInstances ''JannoContaminationMeas "Contamination_Meas") --- | A datatype for the Contamination_Note .janno column -newtype JannoContaminationNote = JannoContaminationNote T.Text deriving (Eq) -$(makeInstances ''JannoContaminationNote "Contamination_Note") - -- | A datatype for the Genetic_Source_Accession_IDs .janno column newtype JannoGeneticSourceAccessionID = JannoGeneticSourceAccessionID AccessionID deriving (Eq, Ord, Generic) instance Makeable JannoGeneticSourceAccessionID where - make x = JannoGeneticSourceAccessionID <$> makeAccessionID x + make _ x = JannoGeneticSourceAccessionID <$> makeAccessionID x instance Suspicious JannoGeneticSourceAccessionID where inspect _ = Nothing instance Show JannoGeneticSourceAccessionID where show (JannoGeneticSourceAccessionID x) = show x instance Csv.ToField JannoGeneticSourceAccessionID where toField x = Csv.toField $ show x -instance Csv.FromField JannoGeneticSourceAccessionID where parseField = parseTypeCSV "Genetic_Source_Accession_IDs" +instance FromFieldVersioned JannoGeneticSourceAccessionID where parseFieldVersioned pv = parseTypeCSV pv "Genetic_Source_Accession_IDs" -- | A datatype for the Primary_Contact .janno column newtype JannoPrimaryContact = JannoPrimaryContact T.Text deriving (Eq) diff --git a/src/Poseidon/ColumnTypesSSF.hs b/src/Poseidon/ColumnTypesSSF.hs index 44da9a764..327be697e 100644 --- a/src/Poseidon/ColumnTypesSSF.hs +++ b/src/Poseidon/ColumnTypesSSF.hs @@ -25,7 +25,7 @@ data SSFUDG = deriving (Eq, Ord, Generic, Enum, Bounded) instance Makeable SSFUDG where - make x + make _ x | x == "minus" = pure SSFMinus | x == "half" = pure SSFHalf | x == "plus" = pure SSFPlus @@ -37,7 +37,7 @@ instance Show SSFUDG where show SSFHalf = "half" show SSFPlus = "plus" instance Csv.ToField SSFUDG where toField x = Csv.toField $ show x -instance Csv.FromField SSFUDG where parseField = parseTypeCSV "udg" +instance FromFieldVersioned SSFUDG where parseFieldVersioned pv = parseTypeCSV pv "udg" -- | A datatype for the library_built .ssf column data SSFLibraryBuilt = @@ -46,7 +46,7 @@ data SSFLibraryBuilt = deriving (Eq, Ord, Generic, Enum, Bounded) instance Makeable SSFLibraryBuilt where - make x + make _ x | x == "ds" = pure SSFDS | x == "ss" = pure SSFSS | otherwise = fail $ "library_built is set to " ++ show x ++ ". " ++ @@ -56,14 +56,14 @@ instance Show SSFLibraryBuilt where show SSFDS = "ds" show SSFSS = "ss" instance Csv.ToField SSFLibraryBuilt where toField x = Csv.toField $ show x -instance Csv.FromField SSFLibraryBuilt where parseField = parseTypeCSV "library_built" +instance FromFieldVersioned SSFLibraryBuilt where parseFieldVersioned pv = parseTypeCSV pv "library_built" -- | A datatype for the sample_accession .ssf column newtype SSFAccessionIDSample = SSFAccessionIDSample AccessionID deriving (Eq, Ord, Generic) instance Makeable SSFAccessionIDSample where - make x = do + make _ x = do accID <- makeAccessionID x return $ SSFAccessionIDSample accID instance Suspicious SSFAccessionIDSample where @@ -76,14 +76,14 @@ instance Suspicious SSFAccessionIDSample where instance Show SSFAccessionIDSample where show (SSFAccessionIDSample x) = show x instance Csv.ToField SSFAccessionIDSample where toField x = Csv.toField $ show x -instance Csv.FromField SSFAccessionIDSample where parseField = parseTypeCSV "sample_accession" +instance FromFieldVersioned SSFAccessionIDSample where parseFieldVersioned pv = parseTypeCSV pv "sample_accession" -- | A datatype for the study_accession .ssf column newtype SSFAccessionIDStudy = SSFAccessionIDStudy AccessionID deriving (Eq, Ord, Generic) instance Makeable SSFAccessionIDStudy where - make x = do + make _ x = do accID <- makeAccessionID x return $ SSFAccessionIDStudy accID instance Suspicious SSFAccessionIDStudy where @@ -96,14 +96,14 @@ instance Suspicious SSFAccessionIDStudy where instance Show SSFAccessionIDStudy where show (SSFAccessionIDStudy x) = show x instance Csv.ToField SSFAccessionIDStudy where toField x = Csv.toField $ show x -instance Csv.FromField SSFAccessionIDStudy where parseField = parseTypeCSV "study_accession" +instance FromFieldVersioned SSFAccessionIDStudy where parseFieldVersioned pv = parseTypeCSV pv "study_accession" -- | A datatype for the run_accession .ssf column newtype SSFAccessionIDRun = SSFAccessionIDRun AccessionID deriving (Eq, Ord, Generic) instance Makeable SSFAccessionIDRun where - make x = do + make _ x = do accID <- makeAccessionID x return $ SSFAccessionIDRun accID instance Suspicious SSFAccessionIDRun where @@ -115,7 +115,7 @@ instance Suspicious SSFAccessionIDRun where instance Show SSFAccessionIDRun where show (SSFAccessionIDRun x) = show x instance Csv.ToField SSFAccessionIDRun where toField x = Csv.toField $ show x -instance Csv.FromField SSFAccessionIDRun where parseField = parseTypeCSV "run_accession" +instance FromFieldVersioned SSFAccessionIDRun where parseFieldVersioned pv = parseTypeCSV pv "run_accession" -- | A datatype for the sample_alias .ssf column newtype SSFSampleAlias = SSFSampleAlias T.Text deriving (Eq, Ord) @@ -130,7 +130,7 @@ newtype SSFFirstPublicSimpleDate = SSFFirstPublicSimpleDate Day deriving (Eq, Ord, Generic) instance Makeable SSFFirstPublicSimpleDate where - make x = do + make _ x = do case parseTimeM False defaultTimeLocale "%Y-%-m-%-d" (T.unpack x) :: Maybe Day of Nothing -> fail $ "first_public date " ++ T.unpack x ++ " is not a correct date in the format YYYY-MM-DD." @@ -140,15 +140,15 @@ instance Show SSFFirstPublicSimpleDate where show (SSFFirstPublicSimpleDate x) = formatTime defaultTimeLocale "%Y-%-m-%-d" x instance Csv.ToField SSFFirstPublicSimpleDate where toField (SSFFirstPublicSimpleDate x) = Csv.toField $ show x -instance Csv.FromField SSFFirstPublicSimpleDate where - parseField = parseTypeCSV "first_public" +instance FromFieldVersioned SSFFirstPublicSimpleDate where + parseFieldVersioned pv = parseTypeCSV pv "first_public" -- | A datatype for the last_updated .ssf column newtype SSFLastUpdatedSimpleDate = SSFLastUpdatedSimpleDate Day deriving (Eq, Ord, Generic) instance Makeable SSFLastUpdatedSimpleDate where - make x = do + make _ x = do case parseTimeM False defaultTimeLocale "%Y-%-m-%-d" (T.unpack x) :: Maybe Day of Nothing -> fail $ "last_updated date " ++ T.unpack x ++ " is not a correct date in the format YYYY-MM-DD." @@ -158,8 +158,8 @@ instance Show SSFLastUpdatedSimpleDate where show (SSFLastUpdatedSimpleDate x) = formatTime defaultTimeLocale "%Y-%-m-%-d" x instance Csv.ToField SSFLastUpdatedSimpleDate where toField (SSFLastUpdatedSimpleDate x) = Csv.toField $ show x -instance Csv.FromField SSFLastUpdatedSimpleDate where - parseField = parseTypeCSV "last_updated" +instance FromFieldVersioned SSFLastUpdatedSimpleDate where + parseFieldVersioned pv = parseTypeCSV pv "last_updated" -- | A datatype for the instrument_model .ssf column newtype SSFInstrumentModel = SSFInstrumentModel T.Text deriving (Eq, Ord) @@ -190,34 +190,34 @@ newtype SSFFastqFTPURI = SSFFastqFTPURI T.Text deriving (Eq, Ord, Generic) instance Makeable SSFFastqFTPURI where - make x + make _ x | isURIReference (T.unpack x) = pure $ SSFFastqFTPURI x | otherwise = fail $ "fastq_ftp entry " ++ show x ++ " is not a well-structured URI." instance Suspicious SSFFastqFTPURI where inspect _ = Nothing instance Show SSFFastqFTPURI where show (SSFFastqFTPURI x) = T.unpack x instance Csv.ToField SSFFastqFTPURI where toField x = Csv.toField $ show x -instance Csv.FromField SSFFastqFTPURI where parseField = parseTypeCSV "fastq_ftp" +instance FromFieldVersioned SSFFastqFTPURI where parseFieldVersioned pv = parseTypeCSV pv "fastq_ftp" -- | A datatype for the fastq_aspera .ssf column newtype SSFFastqASPERAURI = SSFFastqASPERAURI T.Text deriving (Eq, Ord, Generic) instance Makeable SSFFastqASPERAURI where - make x + make _ x | isURIReference (T.unpack x) = pure $ SSFFastqASPERAURI x | otherwise = fail $ "fastq_aspera entry " ++ show x ++ " is not a well-structured URI." instance Suspicious SSFFastqASPERAURI where inspect _ = Nothing instance Show SSFFastqASPERAURI where show (SSFFastqASPERAURI x) = T.unpack x instance Csv.ToField SSFFastqASPERAURI where toField x = Csv.toField $ show x -instance Csv.FromField SSFFastqASPERAURI where parseField = parseTypeCSV "fastq_aspera" +instance FromFieldVersioned SSFFastqASPERAURI where parseFieldVersioned pv = parseTypeCSV pv "fastq_aspera" -- | A datatype for the fastq_bytes .ssf column newtype SSFFastqBytes = SSFFastqBytes Integer deriving (Eq, Ord, Generic) instance Makeable SSFFastqBytes where - make x = + make _ x = case T.decimal x of Left e -> fail $ "fastq_bytes can not be converted to Integer because " ++ e Right (num, "") -> pure $ SSFFastqBytes num @@ -225,13 +225,13 @@ instance Makeable SSFFastqBytes where instance Suspicious SSFFastqBytes where inspect _ = Nothing instance Show SSFFastqBytes where show (SSFFastqBytes x) = show x instance Csv.ToField SSFFastqBytes where toField (SSFFastqBytes x) = Csv.toField x -instance Csv.FromField SSFFastqBytes where parseField = parseTypeCSV "fastq_bytes" +instance FromFieldVersioned SSFFastqBytes where parseFieldVersioned pv = parseTypeCSV pv "fastq_bytes" -- | A datatype for the fastq_md5 .ssf column newtype SSFFastqMD5 = SSFFastqMD5 T.Text deriving (Eq, Ord, Generic) instance Makeable SSFFastqMD5 where - make x + make _ x | isMD5Hash x = pure $ SSFFastqMD5 x | otherwise = fail $ "fastq_md5 " ++ show x ++ " does not contain a well-structured MD5 hash" @@ -240,13 +240,13 @@ isMD5Hash x = T.length x == 32 && T.all isHexDigit x instance Suspicious SSFFastqMD5 where inspect _ = Nothing instance Show SSFFastqMD5 where show (SSFFastqMD5 x) = T.unpack x instance Csv.ToField SSFFastqMD5 where toField x = Csv.toField $ show x -instance Csv.FromField SSFFastqMD5 where parseField = parseTypeCSV "fastq_md5" +instance FromFieldVersioned SSFFastqMD5 where parseFieldVersioned pv = parseTypeCSV pv "fastq_md5" -- | A datatype for the fastq_bytes .ssf column newtype SSFReadCount = SSFReadCount Integer deriving (Eq, Ord, Generic) instance Makeable SSFReadCount where - make x = + make _ x = case T.signed T.decimal x of -- the ENA uses -1 in case the read count failed Left e -> fail $ "read_count can not be converted to Integer because " ++ e Right (num, "") -> @@ -260,19 +260,31 @@ instance Suspicious SSFReadCount where | otherwise = pure [] instance Show SSFReadCount where show (SSFReadCount x) = show x instance Csv.ToField SSFReadCount where toField (SSFReadCount x) = Csv.toField x -instance Csv.FromField SSFReadCount where parseField = parseTypeCSV "read_count" +instance FromFieldVersioned SSFReadCount where parseFieldVersioned pv = parseTypeCSV pv "read_count" -- | A datatype for the submitted_ftp .ssf column newtype SSFSubmittedFTPURI = SSFSubmittedFTPURI T.Text deriving (Eq, Ord, Generic) instance Makeable SSFSubmittedFTPURI where - make x + make _ x | isURIReference (T.unpack x) = pure $ SSFSubmittedFTPURI x | otherwise = fail $ "submitted_ftp entry " ++ show x ++ " is not a well-structured URI." instance Suspicious SSFSubmittedFTPURI where inspect _ = Nothing instance Show SSFSubmittedFTPURI where show (SSFSubmittedFTPURI x) = T.unpack x instance Csv.ToField SSFSubmittedFTPURI where toField x = Csv.toField $ show x -instance Csv.FromField SSFSubmittedFTPURI where parseField = parseTypeCSV "submitted_ftp" +instance FromFieldVersioned SSFSubmittedFTPURI where parseFieldVersioned pv = parseTypeCSV pv "submitted_ftp" +-- | A datatype for the submitted_md5 .ssf column +newtype SSFSubmittedMD5 = SSFSubmittedMD5 T.Text deriving (Eq, Ord, Generic) + +instance Makeable SSFSubmittedMD5 where + make _ x + | isMD5Hash x = pure $ SSFSubmittedMD5 x + | otherwise = fail $ "submitted_md5 " ++ show x ++ + " does not contain a well-structured MD5 hash" +instance Suspicious SSFSubmittedMD5 where inspect _ = Nothing +instance Show SSFSubmittedMD5 where show (SSFSubmittedMD5 x) = T.unpack x +instance Csv.ToField SSFSubmittedMD5 where toField x = Csv.toField $ show x +instance FromFieldVersioned SSFSubmittedMD5 where parseFieldVersioned pv = parseTypeCSV pv "submitted_md5" diff --git a/src/Poseidon/ColumnTypesUtils.hs b/src/Poseidon/ColumnTypesUtils.hs index af85a1c31..14f0365e1 100644 --- a/src/Poseidon/ColumnTypesUtils.hs +++ b/src/Poseidon/ColumnTypesUtils.hs @@ -10,28 +10,43 @@ module Poseidon.ColumnTypesUtils where -import Data.ByteString as S -import qualified Data.ByteString.Char8 as Bchs -import Data.Char (chr, ord) -import qualified Data.Csv as Csv -import qualified Data.HashMap.Strict as HM -import qualified Data.List as L -import qualified Data.Text as T -import qualified Data.Text.Encoding as T -import Data.Typeable (Typeable) -import Generics.SOP (All, Generic (Code, from), - HCollapse (hcollapse), I (..), K (K), - Proxy (..), hcmap, unSOP, unZ) -import GHC.Generics as G hiding (conName) -import Language.Haskell.TH (Con (..), Dec (..), DecsQ, Info (..), - Name, conE, conP, conT, mkName, reify, - varE, varP) -import qualified Text.Parsec as P -import qualified Text.Parsec.String as P +import qualified Control.Monad.Except as E +import qualified Control.Monad.Writer as W +import Data.ByteString as S +import qualified Data.ByteString.Char8 as Bchs +import Data.Char (chr, ord) +import qualified Data.Csv as Csv +import qualified Data.HashMap.Strict as HM +import qualified Data.List as L +import qualified Data.Text as T +import qualified Data.Text.Encoding as T +import Data.Typeable (Typeable) +import Generics.SOP (All, Generic (Code, from), + HCollapse (hcollapse), I (..), K (K), + Proxy (..), hcmap, unSOP, unZ) +import GHC.Generics as G hiding (conName) +import Language.Haskell.TH (Con (..), Dec (..), DecsQ, Info (..), + Name, conE, conP, conT, mkName, + reify, varE, varP) +import Poseidon.PoseidonVersion (PoseidonVersion) +import qualified Text.Parsec as P +import qualified Text.Parsec.String as P + +-- a typeclass like cassavas FromField, but aware of PoseidonVersions +class FromFieldVersioned a where + parseFieldVersioned :: PoseidonVersion -> Csv.Field -> Csv.Parser a + +instance FromFieldVersioned String where parseFieldVersioned _ = Csv.parseField +instance FromFieldVersioned Int where parseFieldVersioned _ = Csv.parseField +-- modified from cassava's FromField (Maybe a) instance +instance FromFieldVersioned a => FromFieldVersioned (Maybe a) where + parseFieldVersioned pv s + | Bchs.null s = pure Nothing + | otherwise = Just <$> parseFieldVersioned pv s -- a typeclass for types with smart constructors class Makeable a where - make :: MonadFail m => T.Text -> m a + make :: MonadFail m => PoseidonVersion -> T.Text -> m a -- a typeclass for .csv/.tsv column types that may require a logged warning when read class Suspicious a where @@ -55,10 +70,10 @@ inspectEachField = . unZ . unSOP . Generics.SOP.from -- helper functions -parseTypeCSV :: forall a m. (MonadFail m, Makeable a, Typeable a) => String -> S.ByteString -> m a -parseTypeCSV colname x = case T.decodeUtf8' x of +parseTypeCSV :: forall a m. (MonadFail m, Makeable a, Typeable a) => PoseidonVersion -> String -> S.ByteString -> m a +parseTypeCSV pv colname x = case T.decodeUtf8' x of Left e -> fail $ show e ++ " in column " ++ colname - Right t -> make $ T.strip t + Right t -> make pv $ T.strip t -- template haskell function to generate repetitive instances makeInstances :: Name -> String -> DecsQ @@ -66,11 +81,11 @@ makeInstances name col = do TyConI (NewtypeD _ _ _ _ (NormalC conName _) _) <- reify name let x = mkName "x" [d| - instance Makeable $(conT name) where make txt = return $ $(conE conName) txt + instance Makeable $(conT name) where make _ txt = return $ $(conE conName) txt instance Suspicious $(conT name) where inspect _ = Nothing instance Show $(conT name) where show $(conP conName [varP x]) = T.unpack $(varE x) instance Csv.ToField $(conT name) where toField $(conP conName [varP x]) = Csv.toField $(varE x) - instance Csv.FromField $(conT name) where parseField = parseTypeCSV col + instance FromFieldVersioned $(conT name) where parseFieldVersioned pv = parseTypeCSV pv col |] -- general encoding/decoding options @@ -86,6 +101,18 @@ encodingOptions = Csv.defaultEncodeOptions { , Csv.encQuoting = Csv.QuoteMinimal } +-- | A data type for row-wise cross-column consistency checks in either .janno or .ssf +type RowLog = E.ExceptT String (W.Writer [String]) +-- first string: error in case of failure +-- string list: warnings + +getCellLength :: Maybe (ListColumn a) -> Int +getCellLength = maybe 0 (Prelude.length . getListColumn) + +allEqual :: Eq a => [a] -> Bool +allEqual [] = True +allEqual x = Prelude.length (L.nub x) == 1 + -- | A datatype to collect additional, unpecified .csv/.tsv file columns (a hashmap in cassava/Data.Csv) newtype CsvNamedRecord = CsvNamedRecord Csv.NamedRecord deriving (Show, Eq, G.Generic) @@ -99,13 +126,13 @@ checkMandatory m mandatory = Nothing -> fail ("Missing value in mandatory column: " <> Bchs.unpack mandatory) Just _ -> pure () -filterLookup :: Csv.FromField a => Csv.NamedRecord -> Bchs.ByteString -> Csv.Parser a -filterLookup m name = case cleanInput $ HM.lookup name m of +filterLookup :: FromFieldVersioned a => PoseidonVersion -> Csv.NamedRecord -> Bchs.ByteString -> Csv.Parser a +filterLookup pv m name = case cleanInput $ HM.lookup name m of Nothing -> fail $ "Missing value in mandatory column: " <> Bchs.unpack name - Just x -> Csv.parseField x + Just x -> parseFieldVersioned pv x -filterLookupOptional :: Csv.FromField a => Csv.NamedRecord -> Bchs.ByteString -> Csv.Parser (Maybe a) -filterLookupOptional m name = maybe (pure Nothing) Csv.parseField . cleanInput $ HM.lookup name m +filterLookupOptional :: FromFieldVersioned a => PoseidonVersion -> Csv.NamedRecord -> Bchs.ByteString -> Csv.Parser (Maybe a) +filterLookupOptional pv m name = maybe (pure Nothing) (\bs -> Just <$> parseFieldVersioned pv bs) . cleanInput $ HM.lookup name m cleanInput :: Maybe Bchs.ByteString -> Maybe Bchs.ByteString cleanInput Nothing = Nothing @@ -129,8 +156,8 @@ getMaybeListColumn (Just x) = getListColumn x instance (Csv.ToField a, Show a) => Csv.ToField (ListColumn a) where toField x = Bchs.intercalate ";" $ L.map Csv.toField $ getListColumn x -instance (Csv.FromField a) => Csv.FromField (ListColumn a) where - parseField x = fmap ListColumn . mapM Csv.parseField $ Bchs.splitWith (==';') x +instance (FromFieldVersioned a) => FromFieldVersioned (ListColumn a) where + parseFieldVersioned pv x = fmap ListColumn . mapM (parseFieldVersioned pv) $ Bchs.splitWith (==';') x -- helper functions for reformatting parser errors removeUselessSuffix :: String -> String diff --git a/src/Poseidon/Janno.hs b/src/Poseidon/Janno.hs index 2a6f9079f..fcb7e9468 100644 --- a/src/Poseidon/Janno.hs +++ b/src/Poseidon/Janno.hs @@ -24,6 +24,7 @@ module Poseidon.Janno ( import Poseidon.ColumnTypesJanno import Poseidon.ColumnTypesUtils +import Poseidon.PoseidonVersion import Poseidon.Utils import Control.Exception (throwIO) @@ -39,11 +40,13 @@ import qualified Data.Csv as Csv import Data.Either (lefts, rights) import qualified Data.HashMap.Strict as HM import Data.List (elemIndex, foldl', - intercalate, nub, sort, - transpose, (\\)) + insertBy, intercalate, + nub, sort, transpose, + (\\)) import Data.Maybe (catMaybes, fromJust) import qualified Data.Text as T import qualified Data.Vector as V +import Data.Version (makeVersion) import Generics.SOP.TH (deriveGeneric) import GHC.Generics (Generic) import Options.Applicative.Help.Levenshtein (editDistance) @@ -80,12 +83,19 @@ data JannoRow = JannoRow { jPoseidonID :: String , jGeneticSex :: GeneticSex , jGroupName :: ListColumn GroupName + , jIndividualID :: Maybe JannoIndividualID + , jSpecies :: Maybe JannoSpecies , jAlternativeIDs :: Maybe (ListColumn JannoAlternativeID) + , jAlternativeIDsContext :: Maybe (ListColumn JannoAlternativeIDContext) , jRelationTo :: Maybe (ListColumn JannoRelationTo) , jRelationDegree :: Maybe (ListColumn JannoRelationDegree) , jRelationType :: Maybe (ListColumn JannoRelationType) - , jRelationNote :: Maybe JannoRelationNote - , jCollectionID :: Maybe JannoCollectionID + , jCollectionID :: Maybe (ListColumn JannoCollectionID) + , jCustodianInstitution :: Maybe (ListColumn JannoCustodianInstitution) + , jCulturalEra :: Maybe (ListColumn JannoCulturalEra) + , jCulturalEraURL :: Maybe (ListColumn JannoCulturalEraURL) + , jArchaeologicalCulture :: Maybe (ListColumn JannoArchaeologicalCulture) + , jArchaeologicalCultureURL :: Maybe (ListColumn JannoArchaeologicalCultureURL) , jCountry :: Maybe JannoCountry , jCountryISO :: Maybe JannoCountryISO , jLocation :: Maybe JannoLocation @@ -99,10 +109,10 @@ data JannoRow = JannoRow , jDateBCADStart :: Maybe JannoDateBCADStart , jDateBCADMedian :: Maybe JannoDateBCADMedian , jDateBCADStop :: Maybe JannoDateBCADStop - , jDateNote :: Maybe JannoDateNote + , jChromosomalAnomalies :: Maybe (ListColumn JannoChromosomalAnomalies) , jMTHaplogroup :: Maybe JannoMTHaplogroup , jYHaplogroup :: Maybe JannoYHaplogroup - , jSourceTissue :: Maybe (ListColumn JannoSourceTissue) + , jSourceMaterial :: Maybe (ListColumn JannoSourceMaterial) , jNrLibraries :: Maybe JannoNrLibraries , jLibraryNames :: Maybe (ListColumn JannoLibraryName) , jCaptureType :: Maybe (ListColumn JannoCaptureType) @@ -113,11 +123,10 @@ data JannoRow = JannoRow , jEndogenous :: Maybe JannoEndogenous , jNrSNPs :: Maybe JannoNrSNPs , jCoverageOnTargets :: Maybe JannoCoverageOnTargets - , jDamage :: Maybe JannoDamage + , jDamage :: Maybe (ListColumn JannoDamage) , jContamination :: Maybe (ListColumn JannoContamination) , jContaminationErr :: Maybe (ListColumn JannoContaminationErr) , jContaminationMeas :: Maybe (ListColumn JannoContaminationMeas) - , jContaminationNote :: Maybe JannoContaminationNote , jGeneticSourceAccessionIDs :: Maybe (ListColumn JannoGeneticSourceAccessionID) , jPrimaryContact :: Maybe JannoPrimaryContact , jPublication :: Maybe (ListColumn JannoPublication) @@ -136,22 +145,25 @@ jannoHeader = [ "Poseidon_ID" , "Genetic_Sex" , "Group_Name" - , "Alternative_IDs" - , "Relation_To", "Relation_Degree", "Relation_Type", "Relation_Note" - , "Collection_ID" + , "Individual_ID" + , "Species" + , "Alternative_IDs", "Alternative_IDs_Context" + , "Relation_To", "Relation_Degree", "Relation_Type" + , "Collection_ID", "Custodian_Institution" + , "Cultural_Era", "Cultural_Era_URL", "Archaeological_Culture", "Archaeological_Culture_URL" , "Country", "Country_ISO" , "Location", "Site", "Latitude", "Longitude" , "Date_Type" , "Date_C14_Labnr", "Date_C14_Uncal_BP", "Date_C14_Uncal_BP_Err" , "Date_BC_AD_Start", "Date_BC_AD_Median", "Date_BC_AD_Stop" - , "Date_Note" + , "Chromosomal_Anomalies" , "MT_Haplogroup", "Y_Haplogroup" - , "Source_Tissue" + , "Source_Material" , "Nr_Libraries", "Library_Names" , "Capture_Type", "UDG", "Library_Built", "Genotype_Ploidy" , "Data_Preparation_Pipeline_URL" , "Endogenous", "Nr_SNPs", "Coverage_on_Target_SNPs", "Damage" - , "Contamination", "Contamination_Err", "Contamination_Meas", "Contamination_Note" + , "Contamination", "Contamination_Err", "Contamination_Meas" , "Genetic_Source_Accession_IDs" , "Primary_Contact" , "Publication" @@ -174,56 +186,62 @@ jannoRefHashMap = HM.fromList $ map (\x -> (x, ())) jannoHeader -- instance Csv.FromNamedRecord JannoRow where -- parseNamedRecord m = JannoRow -parseJannoRowFromNamedRecord :: [Bchs.ByteString] -> Csv.NamedRecord -> Csv.Parser JannoRow -parseJannoRowFromNamedRecord mandatory m = do +parseJannoRowFromNamedRecord :: PoseidonVersion -> [Bchs.ByteString] -> Csv.NamedRecord -> Csv.Parser JannoRow +parseJannoRowFromNamedRecord pv mandatory m = do mapM_ (checkMandatory m) mandatory JannoRow - <$> filterLookup m "Poseidon_ID" - <*> filterLookup m "Genetic_Sex" - <*> filterLookup m "Group_Name" - <*> filterLookupOptional m "Alternative_IDs" - <*> filterLookupOptional m "Relation_To" - <*> filterLookupOptional m "Relation_Degree" - <*> filterLookupOptional m "Relation_Type" - <*> filterLookupOptional m "Relation_Note" - <*> filterLookupOptional m "Collection_ID" - <*> filterLookupOptional m "Country" - <*> filterLookupOptional m "Country_ISO" - <*> filterLookupOptional m "Location" - <*> filterLookupOptional m "Site" - <*> filterLookupOptional m "Latitude" - <*> filterLookupOptional m "Longitude" - <*> filterLookupOptional m "Date_Type" - <*> filterLookupOptional m "Date_C14_Labnr" - <*> filterLookupOptional m "Date_C14_Uncal_BP" - <*> filterLookupOptional m "Date_C14_Uncal_BP_Err" - <*> filterLookupOptional m "Date_BC_AD_Start" - <*> filterLookupOptional m "Date_BC_AD_Median" - <*> filterLookupOptional m "Date_BC_AD_Stop" - <*> filterLookupOptional m "Date_Note" - <*> filterLookupOptional m "MT_Haplogroup" - <*> filterLookupOptional m "Y_Haplogroup" - <*> filterLookupOptional m "Source_Tissue" - <*> filterLookupOptional m "Nr_Libraries" - <*> filterLookupOptional m "Library_Names" - <*> filterLookupOptional m "Capture_Type" - <*> filterLookupOptional m "UDG" - <*> filterLookupOptional m "Library_Built" - <*> filterLookupOptional m "Genotype_Ploidy" - <*> filterLookupOptional m "Data_Preparation_Pipeline_URL" - <*> filterLookupOptional m "Endogenous" - <*> filterLookupOptional m "Nr_SNPs" - <*> filterLookupOptional m "Coverage_on_Target_SNPs" - <*> filterLookupOptional m "Damage" - <*> filterLookupOptional m "Contamination" - <*> filterLookupOptional m "Contamination_Err" - <*> filterLookupOptional m "Contamination_Meas" - <*> filterLookupOptional m "Contamination_Note" - <*> filterLookupOptional m "Genetic_Source_Accession_IDs" - <*> filterLookupOptional m "Primary_Contact" - <*> filterLookupOptional m "Publication" - <*> filterLookupOptional m "Note" - <*> filterLookupOptional m "Keywords" + <$> filterLookup pv m "Poseidon_ID" + <*> filterLookup pv m "Genetic_Sex" + <*> filterLookup pv m "Group_Name" + <*> filterLookupOptional pv m "Individual_ID" + <*> filterLookupOptional pv m "Species" + <*> filterLookupOptional pv m "Alternative_IDs" + <*> filterLookupOptional pv m "Alternative_IDs_Context" + <*> filterLookupOptional pv m "Relation_To" + <*> filterLookupOptional pv m "Relation_Degree" + <*> filterLookupOptional pv m "Relation_Type" + <*> filterLookupOptional pv m "Collection_ID" + <*> filterLookupOptional pv m "Custodian_Institution" + <*> filterLookupOptional pv m "Cultural_Era" + <*> filterLookupOptional pv m "Cultural_Era_URL" + <*> filterLookupOptional pv m "Archaeological_Culture" + <*> filterLookupOptional pv m "Archaeological_Culture_URL" + <*> filterLookupOptional pv m "Country" + <*> filterLookupOptional pv m "Country_ISO" + <*> filterLookupOptional pv m "Location" + <*> filterLookupOptional pv m "Site" + <*> filterLookupOptional pv m "Latitude" + <*> filterLookupOptional pv m "Longitude" + <*> filterLookupOptional pv m "Date_Type" + <*> filterLookupOptional pv m "Date_C14_Labnr" + <*> filterLookupOptional pv m "Date_C14_Uncal_BP" + <*> filterLookupOptional pv m "Date_C14_Uncal_BP_Err" + <*> filterLookupOptional pv m "Date_BC_AD_Start" + <*> filterLookupOptional pv m "Date_BC_AD_Median" + <*> filterLookupOptional pv m "Date_BC_AD_Stop" + <*> filterLookupOptional pv m "Chromosomal_Anomalies" + <*> filterLookupOptional pv m "MT_Haplogroup" + <*> filterLookupOptional pv m "Y_Haplogroup" + <*> filterLookupOptional pv m "Source_Material" + <*> filterLookupOptional pv m "Nr_Libraries" + <*> filterLookupOptional pv m "Library_Names" + <*> filterLookupOptional pv m "Capture_Type" + <*> filterLookupOptional pv m "UDG" + <*> filterLookupOptional pv m "Library_Built" + <*> filterLookupOptional pv m "Genotype_Ploidy" + <*> filterLookupOptional pv m "Data_Preparation_Pipeline_URL" + <*> filterLookupOptional pv m "Endogenous" + <*> filterLookupOptional pv m "Nr_SNPs" + <*> filterLookupOptional pv m "Coverage_on_Target_SNPs" + <*> filterLookupOptional pv m "Damage" + <*> filterLookupOptional pv m "Contamination" + <*> filterLookupOptional pv m "Contamination_Err" + <*> filterLookupOptional pv m "Contamination_Meas" + <*> filterLookupOptional pv m "Genetic_Source_Accession_IDs" + <*> filterLookupOptional pv m "Primary_Contact" + <*> filterLookupOptional pv m "Publication" + <*> filterLookupOptional pv m "Note" + <*> filterLookupOptional pv m "Keywords" -- beyond that read everything that is not in the set of defined variables -- as a separate hashmap <*> pure (CsvNamedRecord (m `HM.difference` jannoRefHashMap)) @@ -233,12 +251,19 @@ instance Csv.ToNamedRecord JannoRow where "Poseidon_ID" Csv..= jPoseidonID j , "Genetic_Sex" Csv..= jGeneticSex j , "Group_Name" Csv..= jGroupName j + , "Individual_ID" Csv..= jIndividualID j + , "Species" Csv..= jSpecies j , "Alternative_IDs" Csv..= jAlternativeIDs j + , "Alternative_IDs_Context" Csv..= jAlternativeIDsContext j , "Relation_To" Csv..= jRelationTo j , "Relation_Degree" Csv..= jRelationDegree j , "Relation_Type" Csv..= jRelationType j - , "Relation_Note" Csv..= jRelationNote j , "Collection_ID" Csv..= jCollectionID j + , "Custodian_Institution" Csv..= jCustodianInstitution j + , "Cultural_Era" Csv..= jCulturalEra j + , "Cultural_Era_URL" Csv..= jCulturalEraURL j + , "Archaeological_Culture" Csv..= jArchaeologicalCulture j + , "Archaeological_Culture_URL" Csv..= jArchaeologicalCultureURL j , "Country" Csv..= jCountry j , "Country_ISO" Csv..= jCountryISO j , "Location" Csv..= jLocation j @@ -252,10 +277,10 @@ instance Csv.ToNamedRecord JannoRow where , "Date_BC_AD_Start" Csv..= jDateBCADStart j , "Date_BC_AD_Median" Csv..= jDateBCADMedian j , "Date_BC_AD_Stop" Csv..= jDateBCADStop j - , "Date_Note" Csv..= jDateNote j + , "Chromosomal_Anomalies" Csv..= jChromosomalAnomalies j , "MT_Haplogroup" Csv..= jMTHaplogroup j , "Y_Haplogroup" Csv..= jYHaplogroup j - , "Source_Tissue" Csv..= jSourceTissue j + , "Source_Material" Csv..= jSourceMaterial j , "Nr_Libraries" Csv..= jNrLibraries j , "Library_Names" Csv..= jLibraryNames j , "Capture_Type" Csv..= jCaptureType j @@ -270,7 +295,6 @@ instance Csv.ToNamedRecord JannoRow where , "Contamination" Csv..= jContamination j , "Contamination_Err" Csv..= jContaminationErr j , "Contamination_Meas" Csv..= jContaminationMeas j - , "Contamination_Note" Csv..= jContaminationNote j , "Genetic_Source_Accession_IDs" Csv..= jGeneticSourceAccessionIDs j , "Primary_Contact" Csv..= jPrimaryContact j , "Publication" Csv..= jPublication j @@ -291,12 +315,19 @@ createMinimalSample (EigenstratIndEntry id_ sex pop) = jPoseidonID = Bchs.unpack id_ -- TODO: this will have to change. We need to make PoseidonID itself ByteString , jGeneticSex = GeneticSex sex , jGroupName = ListColumn [GroupName . T.pack . Bchs.unpack $ pop] -- same thing, see above. + , jIndividualID = Nothing + , jSpecies = Nothing , jAlternativeIDs = Nothing + , jAlternativeIDsContext = Nothing , jRelationTo = Nothing , jRelationDegree = Nothing , jRelationType = Nothing - , jRelationNote = Nothing , jCollectionID = Nothing + , jCustodianInstitution = Nothing + , jCulturalEra = Nothing + , jCulturalEraURL = Nothing + , jArchaeologicalCulture = Nothing + , jArchaeologicalCultureURL = Nothing , jCountry = Nothing , jCountryISO = Nothing , jLocation = Nothing @@ -310,10 +341,10 @@ createMinimalSample (EigenstratIndEntry id_ sex pop) = , jDateBCADStart = Nothing , jDateBCADMedian = Nothing , jDateBCADStop = Nothing - , jDateNote = Nothing + , jChromosomalAnomalies = Nothing , jMTHaplogroup = Nothing , jYHaplogroup = Nothing - , jSourceTissue = Nothing + , jSourceMaterial = Nothing , jNrLibraries = Nothing , jLibraryNames = Nothing , jCaptureType = Nothing @@ -328,21 +359,44 @@ createMinimalSample (EigenstratIndEntry id_ sex pop) = , jContamination = Nothing , jContaminationErr = Nothing , jContaminationMeas = Nothing - , jContaminationNote = Nothing , jGeneticSourceAccessionIDs = Nothing , jPrimaryContact = Nothing , jPublication = Nothing , jComments = Nothing , jKeywords = Nothing - -- The template should of course not have any additional columns - , jAdditionalColumns = CsvNamedRecord $ HM.fromList [] + -- additional, non-specified columns + , jAdditionalColumns = CsvNamedRecord $ HM.fromList [ + ("Relation_Note","n/a") + , ("Date_Note","n/a") + , ("Chromosomal_Anomalies_Note","n/a") + , ("Source_Material_Note","n/a") + , ("Contamination_Note","n/a") + ] } -- Janno file writing makeHeaderWithAdditionalColumns :: [JannoRow] -> Csv.Header makeHeaderWithAdditionalColumns rows = - V.fromList $ jannoHeader ++ sort (HM.keys (HM.unions (map (getCsvNR . jAdditionalColumns) rows))) + let addCols = sort . HM.keys . HM.unions . map (getCsvNR . jAdditionalColumns) $ rows + nonNoteAddCols = filter (\x -> Bchs.takeWhileEnd (/= '_') x /= "Note") addCols + noteAddCols = filter (\x -> Bchs.takeWhileEnd (/= '_') x == "Note") addCols + allNoneNoteCols = jannoHeader ++ nonNoteAddCols + in V.fromList $ weave noteAddCols allNoneNoteCols + where + weave :: [Bchs.ByteString] -> [Bchs.ByteString] -> [Bchs.ByteString] + weave inserts = reverse . insertByMulti findSpot inserts . reverse + -- reverse, because Note columns should be at the end of column groups (e.g. Date_*) + insertByMulti :: (a -> a -> Ordering) -> [a] -> [a] -> [a] + insertByMulti _ [] xs = xs + insertByMulti f (i:rest) xs = insertBy f i (insertByMulti f rest xs) + removeSuffix :: Bchs.ByteString -> Bchs.ByteString + removeSuffix = Bchs.dropEnd 1 . Bchs.dropWhileEnd (/= '_') + findSpot :: Bchs.ByteString -> Bchs.ByteString -> Ordering + findSpot i x + | removeSuffix i == x = LT + | removeSuffix x == x = GT + | otherwise = findSpot i (removeSuffix x) writeJannoFile :: FilePath -> JannoRows -> IO () writeJannoFile path (JannoRows rows) = do @@ -363,8 +417,8 @@ writeJannoFileWithoutEmptyCols path (JannoRows rows) = do Bch.writeFile path (jannoConcat <> "\n") -- | A function to load one janno file -readJannoFile :: [Bchs.ByteString] -> FilePath -> PoseidonIO JannoRows -readJannoFile mandatoryCols jannoPath = do +readJannoFile :: PoseidonVersion -> [Bchs.ByteString] -> FilePath -> PoseidonIO JannoRows +readJannoFile pv mandatoryCols jannoPath = do logDebug $ "Reading: " ++ jannoPath jannoFile <- liftIO $ Bch.readFile jannoPath let jannoFileRows = Bch.lines jannoFile @@ -391,8 +445,13 @@ readJannoFile mandatoryCols jannoPath = do -- for each additional column a standard column is suggested: "Countro (Country?)" intercalate ", " (zipWith (\x y -> x ++ " (" ++ y ++ "?)") additional_columns (findSimilarNames missing_columns additional_columns))) + -- report outdated columns + OP.when ((asVersion pv >= makeVersion [3,0,0]) && "Source_Tissue" `elem` jannoColNames) $ + logWarning $ ("Outdated .janno column in " ++ + jannoPath ++ + ": The Source_Tissue column was replaced by Source_Material in Poseidon v3.0.0.") -- load janno by rows - jannoRepresentation <- mapM (readJannoFileRow mandatoryCols jannoPath) jannoFileRowsWithHeader + jannoRepresentation <- mapM (readJannoFileRow pv mandatoryCols jannoPath) jannoFileRowsWithHeader -- error case management if not (null (lefts jannoRepresentation)) then do @@ -419,12 +478,13 @@ findSimilarNames reference = map (findSimilar reference) in ref !! fromJust (elemIndex (minimum dists) dists) -- | A function to load one row of a janno file -readJannoFileRow :: [Bchs.ByteString] +readJannoFileRow :: PoseidonVersion + -> [Bchs.ByteString] -> FilePath -> (Int, Bch.ByteString) -> PoseidonIO (Either PoseidonException JannoRow) -readJannoFileRow mandatoryCols jannoPath (lineNumber, row) = do - let decoded = Csv.decodeByNameWithP (parseJannoRowFromNamedRecord mandatoryCols) decodingOptions row +readJannoFileRow pv mandatoryCols jannoPath (lineNumber, row) = do + let decoded = Csv.decodeByNameWithP (parseJannoRowFromNamedRecord pv mandatoryCols) decodingOptions row simplifiedDecoded = (\(_,rs) -> V.head rs) <$> decoded case simplifiedDecoded of Left e -> do @@ -439,7 +499,7 @@ readJannoFileRow mandatoryCols jannoPath (lineNumber, row) = do logWarning $ "Value anomaly in " ++ jannoPath ++ " in line " ++ renderLocation ++ ": " mapM_ logWarning inspectRes -- cross-column checks - let (errOrJannoRow, warnings) = W.runWriter (E.runExceptT (checkJannoRowConsistency jannoRow)) + let (errOrJannoRow, warnings) = W.runWriter (E.runExceptT (checkJannoRowConsistency pv jannoRow)) mapM_ (logWarning . renderWarning) warnings -- return result case errOrJannoRow of @@ -453,7 +513,7 @@ readJannoFileRow mandatoryCols jannoPath (lineNumber, row) = do renderLocation = show lineNumber ++ " (Poseidon_ID: " ++ jPoseidonID jannoRow ++ ")" --- Global janno consistency checks +-- Global .janno consistency checks checkJannoConsistency :: FilePath -> JannoRows -> Either PoseidonException JannoRows checkJannoConsistency jannoPath xs @@ -464,20 +524,20 @@ checkJannoConsistency jannoPath xs checkIndividualUnique :: JannoRows -> Bool checkIndividualUnique (JannoRows rows) = length rows == length (nub $ map jPoseidonID rows) --- Row-wise janno consistency checks - -type JannoRowWarnings = [String] -type JannoRowLog = E.ExceptT String (W.Writer JannoRowWarnings) +-- Row-wise .janno consistency checks -checkJannoRowConsistency :: JannoRow -> JannoRowLog JannoRow -checkJannoRowConsistency x = +checkJannoRowConsistency :: PoseidonVersion -> JannoRow -> RowLog JannoRow +checkJannoRowConsistency pv x = return x >>= checkMandatoryStringNotEmpty + >>= (if asVersion pv >= makeVersion [3,0,0] then checkAlternativeIDsConsistent else return) >>= checkC14ColsConsistent >>= checkContamColsConsistent >>= checkRelationColsConsistent + >>= (if asVersion pv >= makeVersion [3,0,0] then checkCulturalEraConsistent else return) + >>= (if asVersion pv >= makeVersion [3,0,0] then checkArchaeologicalCultureConsistent else return) -checkMandatoryStringNotEmpty :: JannoRow -> JannoRowLog JannoRow +checkMandatoryStringNotEmpty :: JannoRow -> RowLog JannoRow checkMandatoryStringNotEmpty x = let notEmpty = (not . null . jPoseidonID $ x) && (not . null . getListColumn . jGroupName $ x) && @@ -486,14 +546,23 @@ checkMandatoryStringNotEmpty x = False -> E.throwError "Poseidon_ID or Group_Name are empty" True -> return x -getCellLength :: Maybe (ListColumn a) -> Int -getCellLength = maybe 0 (length . getListColumn) - -allEqual :: Eq a => [a] -> Bool -allEqual [] = True -allEqual x = length (nub x) == 1 +checkAlternativeIDsConsistent :: JannoRow -> RowLog JannoRow +checkAlternativeIDsConsistent x = + let lAlternativeIDs = getCellLength $ jAlternativeIDs x + lAlternativeIDsContext = getCellLength $ jAlternativeIDsContext x + anyAlts = lAlternativeIDs > 0 + anyContext = lAlternativeIDsContext > 0 + allSameLength = allEqual [lAlternativeIDs, lAlternativeIDsContext] + in case (anyAlts, anyContext, allSameLength) of + (False,_,_) -> return x + (True,False,_) -> do + W.tell ["Alternative_IDs should be contextualised with Alternative_IDs_Context"] + return x + (True,True,True) -> return x + (True,True,False) -> E.throwError "Alternative_IDs_Context and Alternative_IDs \ + \do not have the same lengths" -checkC14ColsConsistent :: JannoRow -> JannoRowLog JannoRow +checkC14ColsConsistent :: JannoRow -> RowLog JannoRow checkC14ColsConsistent x = let isTypeC14 = jDateType x == Just C14 lLabnr = getCellLength $ jDateC14Labnr x @@ -515,7 +584,7 @@ checkC14ColsConsistent x = W.tell ["Date_Type is \"C14\", but either Date_C14_Uncal_BP or Date_C14_Uncal_BP_Err are empty"] return x -checkContamColsConsistent :: JannoRow -> JannoRowLog JannoRow +checkContamColsConsistent :: JannoRow -> RowLog JannoRow checkContamColsConsistent x = let lContamination = getCellLength $ jContamination x lContaminationErr = getCellLength $ jContaminationErr x @@ -526,7 +595,7 @@ checkContamColsConsistent x = \do not have the same lengths" True -> return x -checkRelationColsConsistent :: JannoRow -> JannoRowLog JannoRow +checkRelationColsConsistent :: JannoRow -> RowLog JannoRow checkRelationColsConsistent x = let lRelationTo = getCellLength $ jRelationTo x lRelationDegree = getCellLength $ jRelationDegree x @@ -538,6 +607,24 @@ checkRelationColsConsistent x = \do not have the same lengths. Relation_Type can be empty" True -> return x +checkCulturalEraConsistent :: JannoRow -> RowLog JannoRow +checkCulturalEraConsistent x = + let lCulturalEra = getCellLength $ jCulturalEra x + lCulturalEraURL = getCellLength $ jCulturalEraURL x + in case allEqual [lCulturalEra, lCulturalEraURL] || lCulturalEraURL == 0 of + False -> E.throwError "Cultural_Era and Cultural_Era_URL \ + \do not have the same lengths. Cultural_Era_URL can be empty" + True -> return x + +checkArchaeologicalCultureConsistent :: JannoRow -> RowLog JannoRow +checkArchaeologicalCultureConsistent x = + let lArchaeologicalCulture = getCellLength $ jArchaeologicalCulture x + lArchaeologicalCultureURL = getCellLength $ jArchaeologicalCultureURL x + in case allEqual [lArchaeologicalCulture, lArchaeologicalCultureURL] || lArchaeologicalCultureURL == 0 of + False -> E.throwError "Archaeological_Culture and Archaeological_Culture_URL \ + \do not have the same lengths. Archaeological_Culture_URL can be empty" + True -> return x + -- | a convenience function to construct Eigenstrat Ind entries out of jannoRows jannoRows2EigenstratIndEntries :: JannoRows -> [EigenstratIndEntry] jannoRows2EigenstratIndEntries (JannoRows jannoRows) = do -- list monad diff --git a/src/Poseidon/Package.hs b/src/Poseidon/Package.hs index c564ad55f..46e410d8a 100644 --- a/src/Poseidon/Package.hs +++ b/src/Poseidon/Package.hs @@ -59,7 +59,8 @@ import Poseidon.Janno (JannoRow (..), JannoRows (..), createMinimalJanno, jannoHeaderString, mainJannoColumns, readJannoFile) -import Poseidon.PoseidonVersion (asVersion, latestPoseidonVersion, +import Poseidon.PoseidonVersion (PoseidonVersion (..), asVersion, + latestPoseidonVersion, showPoseidonVersion, validPoseidonVersions) import Poseidon.SequencingSource (SeqSourceRow (..), @@ -80,6 +81,7 @@ import Control.DeepSeq (($!!)) import Control.Exception (catch, throwIO) import Control.Monad (filterM, forM, forM_, unless, void, when) +import qualified Control.Monad as OP import Control.Monad.Catch (MonadThrow, throwM, try) import Control.Monad.IO.Class (MonadIO, liftIO) import Data.Aeson (FromJSON, ToJSON, object, @@ -125,7 +127,7 @@ import System.IO (IOMode (ReadMode), hGetContents, -- | Internal structure for YAML loading only data PoseidonYamlStruct = PoseidonYamlStruct - { _posYamlPoseidonVersion :: Version + { _posYamlPoseidonVersion :: PoseidonVersion , _posYamlTitle :: String , _posYamlDescription :: Maybe String , _posYamlContributor :: [ContributorSpec] @@ -222,7 +224,7 @@ instance HasNameAndVersion PoseidonYamlStruct where data PoseidonPackage = PoseidonPackage { posPacBaseDir :: FilePath -- ^ the base directory of the YAML file - , posPacPoseidonVersion :: Version + , posPacPoseidonVersion :: PoseidonVersion -- ^ the version of the package , posPacNameAndVersion :: PacNameAndVersion -- ^ the title and version of the package @@ -355,6 +357,11 @@ readPoseidonPackageCollectionWithSkipIndicator opts baseDirs = do -- report number of valid packages let finalPackageList = sort filteredPackageList logInfo $ "Packages loaded: " ++ (show . length $ finalPackageList) + -- warn about adjustments to old package versions + OP.when (any (\x -> asVersion (posPacPoseidonVersion x) < makeVersion [3,0,0]) finalPackageList) $ do + logWarning "For packages below Poseidon v3.0.0 (poseidonVersion) values in the .janno \ + \columns Endogenous and Damage were rescaled from percent (0-100) to \ + \fractions (0-1)." -- return package list return (finalPackageList, skipIndicator) where @@ -430,7 +437,7 @@ readPoseidonPackage opts ymlPath = do else throwM $ PoseidonPackageException $ "Missing mandatory .janno columns: " ++ intercalate ", " (map Bchs.unpack extraMandatoryColumns) Just p -> do - loadedJanno <- readJannoFile (_readOptMandatoryJannoCols opts) p + loadedJanno <- readJannoFile ver (_readOptMandatoryJannoCols opts) p liftIO $ checkJannoIndConsistency tit loadedJanno indEntries isVCF return loadedJanno @@ -443,7 +450,7 @@ readPoseidonPackage opts ymlPath = do then return mempty else throwM $ PoseidonPackageException $ "Missing mandatory .ssf columns: " ++ intercalate ", " (map Bchs.unpack extraMandatoryColumns) - Just p -> readSeqSourceFile (_readOptMandatorySSFCols opts) p + Just p -> readSeqSourceFile ver (_readOptMandatorySSFCols opts) p checkSeqSourceJannoConsistency tit seqSource janno -- read bib (or fill with empty list) @@ -733,7 +740,7 @@ newMinimalPackageTemplate baseDir name gd = do reducedGD <- snd <$> reduceGenotypeFilepaths gd return $ PoseidonPackage { posPacBaseDir = baseDir - , posPacPoseidonVersion = asVersion latestPoseidonVersion + , posPacPoseidonVersion = latestPoseidonVersion , posPacNameAndVersion = PacNameAndVersion name Nothing , posPacDescription = Nothing , posPacContributor = [] @@ -864,7 +871,7 @@ packagesToPackageInfos withBaseDir pacs = do return $ PackageInfo { pPac = posPacNameAndVersion pac, pIsLatest = isLatest, - pPosVersion = posPacPoseidonVersion pac, + pPosVersion = asVersion $ posPacPoseidonVersion pac, pDescription = posPacDescription pac, pLastModified = posPacLastModified pac, pNrIndividuals = (length . getJannoRowsFromPac) pac, diff --git a/src/Poseidon/PoseidonVersion.hs b/src/Poseidon/PoseidonVersion.hs index 963a1c6da..af327bd02 100644 --- a/src/Poseidon/PoseidonVersion.hs +++ b/src/Poseidon/PoseidonVersion.hs @@ -1,18 +1,16 @@ -module Poseidon.PoseidonVersion ( - validPoseidonVersions, - showPoseidonVersion, - latestPoseidonVersion, - asVersion, - minimalRequiredClientVersion -) where +module Poseidon.PoseidonVersion where +import Data.Aeson (FromJSON, ToJSON (..), parseJSON, toJSON) import Data.Version (Version (..), makeVersion, showVersion) newtype PoseidonVersion = PoseidonVersion Version deriving (Show, Eq, Ord) +instance FromJSON PoseidonVersion where parseJSON v = PoseidonVersion <$> parseJSON v +instance ToJSON PoseidonVersion where toJSON (PoseidonVersion v) = toJSON v + validPoseidonVersions :: [PoseidonVersion] -validPoseidonVersions = map (PoseidonVersion . makeVersion) [[2,5,0], [2,6,0], [2,7,0], [2,7,1]] +validPoseidonVersions = map (PoseidonVersion . makeVersion) [[2,5,0], [2,6,0], [2,7,0], [2,7,1], [3,0,0]] latestPoseidonVersion :: PoseidonVersion latestPoseidonVersion = last validPoseidonVersions diff --git a/src/Poseidon/SequencingSource.hs b/src/Poseidon/SequencingSource.hs index ba11ffc03..ff88d77ef 100644 --- a/src/Poseidon/SequencingSource.hs +++ b/src/Poseidon/SequencingSource.hs @@ -15,7 +15,9 @@ import Poseidon.Utils import Control.Exception (throwIO) import Control.Monad (unless, when) import qualified Control.Monad as OP +import qualified Control.Monad.Except as E import Control.Monad.IO.Class (liftIO) +import qualified Control.Monad.Writer as W import Data.Bifunctor (second) import qualified Data.ByteString.Char8 as Bchs import qualified Data.ByteString.Lazy.Char8 as Bch @@ -27,6 +29,7 @@ import Data.Maybe (catMaybes, isJust, mapMaybe) import qualified Data.Vector as V import Generics.SOP.TH (deriveGeneric) import GHC.Generics (Generic) +import Poseidon.PoseidonVersion import qualified Text.Parsec as P -- | A data type to represent a seqSourceFile @@ -80,6 +83,7 @@ data SeqSourceRow = SeqSourceRow -- integer, not int, because it can be a very large number , sReadCount :: Maybe SSFReadCount , sSubmittedFTP :: Maybe (ListColumn SSFSubmittedFTPURI) + , sSubmittedMD5 :: Maybe (ListColumn SSFSubmittedMD5) , sAdditionalColumns :: CsvNamedRecord } deriving (Show, Eq, Generic) @@ -112,6 +116,7 @@ seqSourceHeader = [ , "fastq_md5" , "read_count" , "submitted_ftp" + , "submitted_md5" ] instance Csv.DefaultOrdered SeqSourceRow where @@ -129,32 +134,33 @@ seqSourceRefHashMap = HM.fromList $ map (\x -> (x, ())) seqSourceHeader -- instance Csv.FromNamedRecord SeqSourceRow where -- parseNamedRecord m = SeqSourceRow -parseSeqSourceRowFromNamedRecord :: [Bchs.ByteString] -> Csv.NamedRecord -> Csv.Parser SeqSourceRow -parseSeqSourceRowFromNamedRecord mandatory m = do +parseSeqSourceRowFromNamedRecord :: PoseidonVersion -> [Bchs.ByteString] -> Csv.NamedRecord -> Csv.Parser SeqSourceRow +parseSeqSourceRowFromNamedRecord pv mandatory m = do mapM_ (checkMandatory m) mandatory SeqSourceRow - <$> filterLookupOptional m "poseidon_IDs" - <*> filterLookupOptional m "udg" - <*> filterLookupOptional m "library_built" - <*> filterLookupOptional m "sample_accession" - <*> filterLookupOptional m "study_accession" - <*> filterLookup m "run_accession" - <*> filterLookupOptional m "sample_alias" - <*> filterLookupOptional m "secondary_sample_accession" - <*> filterLookupOptional m "first_public" - <*> filterLookupOptional m "last_updated" - <*> filterLookupOptional m "instrument_model" - <*> filterLookupOptional m "library_layout" - <*> filterLookupOptional m "library_source" - <*> filterLookupOptional m "instrument_platform" - <*> filterLookupOptional m "library_name" - <*> filterLookupOptional m "library_strategy" - <*> filterLookupOptional m "fastq_ftp" - <*> filterLookupOptional m "fastq_aspera" - <*> filterLookupOptional m "fastq_bytes" - <*> filterLookupOptional m "fastq_md5" - <*> filterLookupOptional m "read_count" - <*> filterLookupOptional m "submitted_ftp" + <$> filterLookupOptional pv m "poseidon_IDs" + <*> filterLookupOptional pv m "udg" + <*> filterLookupOptional pv m "library_built" + <*> filterLookupOptional pv m "sample_accession" + <*> filterLookupOptional pv m "study_accession" + <*> filterLookupOptional pv m "run_accession" + <*> filterLookupOptional pv m "sample_alias" + <*> filterLookupOptional pv m "secondary_sample_accession" + <*> filterLookupOptional pv m "first_public" + <*> filterLookupOptional pv m "last_updated" + <*> filterLookupOptional pv m "instrument_model" + <*> filterLookupOptional pv m "library_layout" + <*> filterLookupOptional pv m "library_source" + <*> filterLookupOptional pv m "instrument_platform" + <*> filterLookupOptional pv m "library_name" + <*> filterLookupOptional pv m "library_strategy" + <*> filterLookupOptional pv m "fastq_ftp" + <*> filterLookupOptional pv m "fastq_aspera" + <*> filterLookupOptional pv m "fastq_bytes" + <*> filterLookupOptional pv m "fastq_md5" + <*> filterLookupOptional pv m "read_count" + <*> filterLookupOptional pv m "submitted_ftp" + <*> filterLookupOptional pv m "submitted_md5" -- beyond that read everything that is not in the set of defined variables -- as a separate hashmap <*> pure (CsvNamedRecord (m `HM.difference` seqSourceRefHashMap)) @@ -183,6 +189,7 @@ instance Csv.ToNamedRecord SeqSourceRow where , "fastq_md5" Csv..= sFastqMD5 s , "read_count" Csv..= sReadCount s , "submitted_ftp" Csv..= sSubmittedFTP s + , "submitted_md5" Csv..= sSubmittedMD5 s -- beyond that add what is in the hashmap of additional columns ] `HM.union` (getCsvNR $ sAdditionalColumns s) @@ -197,8 +204,8 @@ writeSeqSourceFile path (SeqSourceRows rows) = do V.fromList $ seqSourceHeader ++ sort (HM.keys (HM.unions (map (getCsvNR . sAdditionalColumns) rows))) -- | A function to read one seqSourceFile -readSeqSourceFile :: [Bchs.ByteString] -> FilePath -> PoseidonIO SeqSourceRows -readSeqSourceFile mandatoryCols seqSourcePath = do +readSeqSourceFile :: PoseidonVersion -> [Bchs.ByteString] -> FilePath -> PoseidonIO SeqSourceRows +readSeqSourceFile pv mandatoryCols seqSourcePath = do logDebug $ "Reading: " ++ seqSourcePath seqSourceFile <- liftIO $ Bch.readFile seqSourcePath let seqSourceFileRows = Bch.lines seqSourceFile @@ -215,7 +222,7 @@ readSeqSourceFile mandatoryCols seqSourcePath = do rowsOnly = tail seqSourceFileRowsWithNumberFiltered seqSourceFileRowsWithHeader = map (second (\x -> headerOnly <> "\n" <> x)) rowsOnly -- read seqSourceFile by rows - seqSourceRepresentation <- mapM (readSeqSourceFileRow mandatoryCols seqSourcePath) seqSourceFileRowsWithHeader + seqSourceRepresentation <- mapM (readSeqSourceFileRow pv mandatoryCols seqSourcePath) seqSourceFileRowsWithHeader -- error case management if not (null (lefts seqSourceRepresentation)) then do @@ -227,12 +234,13 @@ readSeqSourceFile mandatoryCols seqSourcePath = do return seqSource -- | A function to read one row of a seqSourceFile -readSeqSourceFileRow :: [Bchs.ByteString] +readSeqSourceFileRow :: PoseidonVersion + -> [Bchs.ByteString] -> FilePath -> (Int, Bch.ByteString) -> PoseidonIO (Either PoseidonException SeqSourceRow) -readSeqSourceFileRow mandatoryCols seqSourcePath (lineNumber, row) = do - let decoded = Csv.decodeByNameWithP (parseSeqSourceRowFromNamedRecord mandatoryCols) decodingOptions row +readSeqSourceFileRow pv mandatoryCols seqSourcePath (lineNumber, row) = do + let decoded = Csv.decodeByNameWithP (parseSeqSourceRowFromNamedRecord pv mandatoryCols) decodingOptions row simplifiedDecoded = (\(_,rs) -> V.head rs) <$> decoded case simplifiedDecoded of Left e -> do @@ -246,13 +254,21 @@ readSeqSourceFileRow mandatoryCols seqSourcePath (lineNumber, row) = do OP.unless (null inspectRes) $ do logWarning $ "Value anomaly in " ++ seqSourcePath ++ " in line " ++ renderLocation ++ ": " mapM_ logWarning inspectRes + -- cross-column checks + let (errOrSSFRow, warnings) = W.runWriter (E.runExceptT (checkSSFRowConsistency seqSourceRow)) + mapM_ (logWarning . renderWarning) warnings -- return result - return $ Right seqSourceRow + case errOrSSFRow of + Left e -> return $ Left $ PoseidonFileRowException seqSourcePath renderLocation e + Right r -> return $ Right r where + renderWarning :: String -> String + renderWarning e = "Cross-column anomaly in " ++ seqSourcePath ++ " " ++ + "in line " ++ renderLocation ++ ": " ++ e renderLocation :: String renderLocation = show lineNumber --- Global SSF consistency checks +-- Global .ssf consistency checks warnSeqSourceConsistency :: FilePath -> SeqSourceRows -> PoseidonIO () warnSeqSourceConsistency seqSourcePath xs = do @@ -271,3 +287,51 @@ checkRunsUnique (SeqSourceRows rows) = checkAtLeastOnePoseidonID :: SeqSourceRows -> Bool checkAtLeastOnePoseidonID (SeqSourceRows rows) = any (isJust . sPoseidonID) rows + +-- Row-wise .ssf consistency checks + +checkSSFRowConsistency :: SeqSourceRow -> RowLog SeqSourceRow +checkSSFRowConsistency x = + return x + >>= checkFastqConsistency + >>= checkSubmittedConsistency + +checkFastqConsistency :: SeqSourceRow -> RowLog SeqSourceRow +checkFastqConsistency x = + let lFastqFTP = getCellLength $ sFastqFTP x + lFastqASPERA = getCellLength $ sFastqASPERA x + lFastqBytes = getCellLength $ sFastqBytes x + lFastqMD5 = getCellLength $ sFastqMD5 x + linksEqualLength = lFastqFTP == lFastqASPERA || lFastqFTP == 0 || lFastqASPERA == 0 + nrEntries = max lFastqFTP lFastqASPERA + bytesEqualLength = lFastqBytes == nrEntries + md5EqualLength = lFastqMD5 == nrEntries + in case (linksEqualLength, bytesEqualLength, md5EqualLength) of + (False,_,_) -> E.throwError "fastq_ftp and fastq_aspera \ + \do not have the same lengths. Either or both can be empty" + (_,False,_) -> E.throwError "fastq_bytes and fastq_ftp and/or fastq_aspera \ + \do not have the same lengths. fastq_bytes can be empty" + (_,_,False) -> E.throwError "fastq_md5 and fastq_ftp and/or fastq_aspera \ + \do not have the same lengths. fastq_bytes can be empty" + (_,_,_) -> return x + +checkSubmittedConsistency :: SeqSourceRow -> RowLog SeqSourceRow +checkSubmittedConsistency x = + let lSubmittedFTP = getCellLength $ sSubmittedFTP x + lSubmittedMD5 = getCellLength $ sSubmittedMD5 x + in case allEqual [lSubmittedFTP, lSubmittedMD5] || lSubmittedMD5 == 0 of + False -> E.throwError "submitted_ftp and submitted_md5 \ + \do not have the same lengths. submitted_md5 can be empty" + True -> return x + + + + + + + + + + + + diff --git a/test/Poseidon/JannoSpec.hs b/test/Poseidon/JannoSpec.hs index be79ce9ee..751acf078 100644 --- a/test/Poseidon/JannoSpec.hs +++ b/test/Poseidon/JannoSpec.hs @@ -5,23 +5,52 @@ module Poseidon.JannoSpec (spec, checkEnDe) where import Poseidon.AccessionIDs import Poseidon.ColumnTypesJanno import Poseidon.ColumnTypesUtils -import Poseidon.Janno (JannoRow (..), JannoRows (..), - readJannoFile) +import Poseidon.Janno +import Poseidon.PoseidonVersion import Poseidon.Utils (testLog) import Country (decodeAlphaTwo) import qualified Data.Csv as C -import Data.HashMap.Strict (fromList) -import SequenceFormats.Eigenstrat (Sex (..)) +import qualified Data.HashMap.Strict as HM +import qualified Data.Vector as V +import SequenceFormats.Eigenstrat (EigenstratIndEntry (..), Sex (..)) import System.FilePath (()) import Test.Hspec (Spec, anyException, describe, it, - shouldBe, shouldThrow) + shouldBe, shouldContain, + shouldThrow) spec :: Spec spec = do + testMakeHeaderWithAdditionalColumns testEnAndDecoding testPoseidonSampleFromJannoFile +testMakeHeaderWithAdditionalColumns :: Spec +testMakeHeaderWithAdditionalColumns = describe "Poseidon.Janno: Column sorting (header preparation)" $ do + it "should sort columns as expected" $ do + let jannoRowEmpty = createMinimalSample (EigenstratIndEntry "a" Unknown "test") + jannoRow = jannoRowEmpty { + jAdditionalColumns = CsvNamedRecord $ HM.fromList [ + ("Relation_Note","n/a") + , ("Date_Note","n/a") + , ("Source_Material_Note","n/a") + , ("Contamination_Note","n/a") + , ("Genetic_Sex_Note","n/a") + , ("AdditionalColumn2","n/a") + ,("AdditionalColumn1","n/a") + ] + } + header = V.toList $ makeHeaderWithAdditionalColumns [jannoRow] + -- this test is not very clever and will also sometimes need adjustment when + -- something unrelated changes in the .janno column setup + header `shouldContain` ["Relation_Type", "Relation_Note"] + header `shouldContain` ["Date_BC_AD_Stop", "Date_Note"] + header `shouldContain` ["Chromosomal_Anomalies", "MT_Haplogroup"] + header `shouldContain` ["Source_Material", "Source_Material_Note"] + header `shouldContain` ["Contamination_Meas", "Contamination_Note"] + header `shouldContain` ["Genetic_Sex", "Genetic_Sex_Note"] + header `shouldContain` ["Keywords", "AdditionalColumn1", "AdditionalColumn2"] + testEnAndDecoding :: Spec testEnAndDecoding = describe "Poseidon.Janno: JSON and CSV en- and decoding" $ do it "should pass smoothly through all relevant en- and decoding cycles" $ do @@ -32,16 +61,17 @@ testEnAndDecoding = describe "Poseidon.Janno: JSON and CSV en- and decoding" $ d checkEnDe [GeneticSex Female, GeneticSex Male, GeneticSex Unknown] checkEnDe [JannoDateBCADStart (-100), JannoDateBCADStart 100] checkEnDe (enumFrom minBound :: [JannoDateType]) -- get all constructors for JannoDateType in a list - checkEnDe (enumFrom minBound :: [JannoCaptureType]) + checkEnDe [Shotgun, A1240K, ArborComplete, ArborPrimePlus, ArborAncestralPlus, TwistAncientDNA, WISC2013, OtherCapture] checkEnDe (enumFrom minBound :: [JannoGenotypePloidy]) checkEnDe (enumFrom minBound :: [JannoUDG]) checkEnDe (enumFrom minBound :: [JannoLibraryBuilt]) + checkEnDe (enumFrom minBound :: [JannoSourceMaterial]) + checkEnDe (enumFrom minBound :: [JannoRelationDegree]) checkEnDe [JannoCountryISO <$> decodeAlphaTwo "DE", JannoCountryISO <$> decodeAlphaTwo "FR", JannoCountryISO <$> decodeAlphaTwo "KE"] checkEnDe [JannoLatitude (-45), JannoLatitude 45] checkEnDe [JannoLongitude (-100), JannoLongitude 100] - checkEnDe [JannoEndogenous 0, JannoEndogenous 100] + checkEnDe [JannoEndogenous 0, JannoEndogenous 1] checkEnDe [JannoDataPreparationPipelineURL "http://www.google.de"] - checkEnDe (enumFrom minBound :: [JannoRelationDegree]) checkEnDe [JannoGeneticSourceAccessionID $ INSDCProject "PRJEA0", JannoGeneticSourceAccessionID $ INSDCStudy "ERP000000"] checkEnDe [ListColumn (["a", "b", "c"] :: [String])] checkEnDe [ListColumn ([1, 2, 3] :: [Int])] @@ -50,47 +80,30 @@ testEnAndDecoding = describe "Poseidon.Janno: JSON and CSV en- and decoding" $ d checkEnDe ([Nothing, Just $ JannoLatitude (-45), Just $ JannoLatitude 45] :: [Maybe JannoLatitude]) -- infrastructure to check an en- and decoding cycle -checkEnDe :: (Show a, Eq a, C.FromField a, C.ToField a) => [a] -> IO () +checkEnDe :: (Show a, Eq a, FromFieldVersioned a, C.ToField a) => [a] -> IO () checkEnDe xs = cassavaCycle xs `shouldBe` cassavaResult xs where - cassavaCycle :: (C.FromField a, C.ToField a) => [a] -> [Either String a] - cassavaCycle = map (C.runParser . C.parseField . C.toField) + cassavaCycle :: (FromFieldVersioned a, C.ToField a) => [a] -> [Either String a] + cassavaCycle = map (C.runParser . (parseFieldVersioned latestPoseidonVersion) . C.toField) cassavaResult = map Right testPoseidonSampleFromJannoFile :: Spec testPoseidonSampleFromJannoFile = describe "Poseidon.Janno.readJannoFile" $ do - let minimalFullJannoPath = "test/testDat/testJannoFiles/minimal_full.janno" - let minimalPartialJannoPath = "test/testDat/testJannoFiles/minimal_partial.janno" - let normalFullJannoPath = "test/testDat/testJannoFiles/normal_full.janno" - let normalPartialJannoPath = "test/testDat/testJannoFiles/normal_partial.janno" - let borkedFullJannoPath = "test/testDat/testJannoFiles/borked_full.janno" - let borkedPartialJannoPath = "test/testDat/testJannoFiles/borked_partial.janno" + let minimalJannoPath = "test/testDat/testJannoFiles/minimal.janno" + let normalJannoPath = "test/testDat/testJannoFiles/normal.janno" + let borkedJannoPath = "test/testDat/testJannoFiles/borked.janno" it "should read minimal janno files correctly" $ do - (JannoRows janno) <- testLog $ readJannoFile [] minimalFullJannoPath - (JannoRows janno_partial) <- testLog $ readJannoFile [] minimalPartialJannoPath - janno `shouldBe` janno_partial + (JannoRows janno) <- testLog $ readJannoFile latestPoseidonVersion [] minimalJannoPath length janno `shouldBe` 3 map jPoseidonID janno `shouldBe` ["XXX011", "XXX012", "XXX013"] - map jCollectionID janno `shouldBe` [Nothing, Nothing, Nothing] - map jSourceTissue janno `shouldBe` [Nothing, Nothing, Nothing] - map jLatitude janno `shouldBe` [Nothing, Nothing, Nothing] - map jLongitude janno `shouldBe` [Nothing, Nothing, Nothing] - map jDateC14UncalBP janno `shouldBe` [Nothing, Nothing, Nothing] - map jDateBCADMedian janno `shouldBe` [Nothing, Nothing, Nothing] - map jDateType janno `shouldBe` [Nothing, Nothing, Nothing] - map jCaptureType janno `shouldBe` [Nothing, Nothing, Nothing] - map jGenotypePloidy janno `shouldBe` [Nothing, Nothing, Nothing] - map jGroupName janno `shouldBe` [ListColumn [GroupName "POP1"], ListColumn [GroupName "POP2"], ListColumn [GroupName "POP1"]] + map jGroupName janno `shouldBe` [ ListColumn [GroupName "POP1"] + , ListColumn [GroupName "POP2"] + , ListColumn [GroupName "POP1"] + ] map jGeneticSex janno `shouldBe` [GeneticSex Male, GeneticSex Female, GeneticSex Male] - map jCoverageOnTargets janno `shouldBe` [Nothing, Nothing, Nothing] - map jUDG janno `shouldBe` [Nothing, Nothing, Nothing] - map jLibraryBuilt janno `shouldBe` [Nothing, Nothing, Nothing] - map jDamage janno `shouldBe` [Nothing, Nothing, Nothing] it "should read normal janno files correctly" $ do - (JannoRows janno) <- testLog $ readJannoFile [] normalFullJannoPath - (JannoRows janno_partial) <- testLog $ readJannoFile [] normalPartialJannoPath - janno `shouldBe` janno_partial + (JannoRows janno) <- testLog $ readJannoFile latestPoseidonVersion [] normalJannoPath length janno `shouldBe` 3 map jPoseidonID janno `shouldBe` [ "XXX011", "XXX012", "XXX013" ] map jRelationDegree janno `shouldBe` [ Just (ListColumn [First, Second]) @@ -98,9 +111,35 @@ testPoseidonSampleFromJannoFile = describe "Poseidon.Janno.readJannoFile" $ do , Just (ListColumn [SixthToTenth]) ] map jCollectionID janno `shouldBe` [ Nothing, Nothing, Nothing ] - map jSourceTissue janno `shouldBe` [ Just (ListColumn [JannoSourceTissue "xxx", JannoSourceTissue "yyy"]) - , Just (ListColumn [JannoSourceTissue "xxx"]) - , Just (ListColumn [JannoSourceTissue "xxx"]) + map jCulturalEra janno `shouldBe` [ Just (ListColumn [ + JannoCulturalEra "Danish Bronze Age" + , JannoCulturalEra "Pre-Pottery Neolithic A"]) + , Nothing + , Nothing + ] + map jCulturalEraURL janno `shouldBe` [ Just (ListColumn [ + JannoCulturalEraURL + "https://chronontology.dainst.org/period/Gx4uxaeTCbbg" + , JannoCulturalEraURL + "https://n2t.net/ark:/99152/p0zj6g8ks9s"]) + , Nothing + , Nothing + ] + map jArchaeologicalCulture janno `shouldBe` [ Nothing + , Just (ListColumn [ + JannoArchaeologicalCulture + "Hallstatt culture (Hungary)"]) + , Nothing + ] + map jArchaeologicalCultureURL janno `shouldBe` [ Nothing + , Just (ListColumn [ + JannoArchaeologicalCultureURL + "https://n2t.net/ark:/99152/p0nxc78fxgt"]) + , Nothing + ] + map jSourceMaterial janno `shouldBe` [ Just (ListColumn [MaterialPetrous, MaterialOther]) + , Just (ListColumn [MaterialSoft]) + , Just (ListColumn [MaterialHair]) ] map jCountry janno `shouldBe` [ Just (JannoCountry "xxx") , Just (JannoCountry "xxx") @@ -118,11 +157,17 @@ testPoseidonSampleFromJannoFile = describe "Poseidon.Janno.readJannoFile" $ do , Just (JannoLongitude (-180)) , Just (JannoLongitude 180) ] - map jDateC14Labnr janno `shouldBe` [ Just (ListColumn [JannoDateC14Labnr "A-1", JannoDateC14Labnr "A-2", JannoDateC14Labnr "A-3"]) + map jDateC14Labnr janno `shouldBe` [ Just (ListColumn [ + JannoDateC14Labnr "A-1" + , JannoDateC14Labnr "A-2" + , JannoDateC14Labnr "A-3"]) , Nothing , Nothing ] - map jDateC14UncalBP janno `shouldBe` [ Just (ListColumn [JannoDateC14UncalBP 3000, JannoDateC14UncalBP 3100, JannoDateC14UncalBP 2900]) + map jDateC14UncalBP janno `shouldBe` [ Just (ListColumn [ + JannoDateC14UncalBP 3000 + , JannoDateC14UncalBP 3100 + , JannoDateC14UncalBP 2900]) , Nothing , Nothing] map jDateBCADMedian janno `shouldBe` [ Just (JannoDateBCADMedian (-1000)) @@ -132,13 +177,15 @@ testPoseidonSampleFromJannoFile = describe "Poseidon.Janno.readJannoFile" $ do , Just Contextual , Just Modern ] - map jLibraryNames janno `shouldBe` [ Just $ ListColumn [JannoLibraryName "Lib1", JannoLibraryName "Lib2"] + map jLibraryNames janno `shouldBe` [ Just $ ListColumn [ + JannoLibraryName "Lib1" + , JannoLibraryName "Lib2"] , Just $ ListColumn [JannoLibraryName "Lib3"] , Nothing ] map jCaptureType janno `shouldBe` [ Just (ListColumn [Shotgun, A1240K]) , Just (ListColumn [A1240K]) - , Just (ListColumn [ReferenceGenome]) + , Just (ListColumn [ArborPrimePlus]) ] map jGenotypePloidy janno `shouldBe` [ Just Diploid , Just Haploid @@ -164,37 +211,56 @@ testPoseidonSampleFromJannoFile = describe "Poseidon.Janno.readJannoFile" $ do , Just SS , Just MixedSSDS ] - map jDamage janno `shouldBe` [ Just (JannoDamage 0) - , Just (JannoDamage 100) - , Just (JannoDamage 50) + map jDamage janno `shouldBe` [ Just (ListColumn [JannoDamage 0]) + , Just (ListColumn [JannoDamage 1, JannoDamage 0.1]) + , Just (ListColumn [JannoDamage 0.5]) ] map jContamination janno `shouldBe` [ Just (ListColumn [JannoContamination "10"]) - , Just (ListColumn [JannoContamination "20", JannoContamination "50", JannoContamination "70"]) + , Just (ListColumn [JannoContamination "20" + , JannoContamination "50" + , JannoContamination "70"]) , Nothing ] map jDataPreparationPipelineURL janno `shouldBe` [ Just (JannoDataPreparationPipelineURL "ftp://test.test") , Just (JannoDataPreparationPipelineURL "https://www.google.de") , Just (JannoDataPreparationPipelineURL "http://huhu.org/23&test") ] - map jAdditionalColumns janno `shouldBe` [ CsvNamedRecord (fromList [("AdditionalColumn2","test2") - ,("AdditionalColumn1","test1")]) - , CsvNamedRecord (fromList [("AdditionalColumn2","test4") - ,("AdditionalColumn1","test3")]) - , CsvNamedRecord (fromList [("AdditionalColumn2","test6") - ,("AdditionalColumn1","test5")]) + map jAdditionalColumns janno `shouldBe` [ CsvNamedRecord (HM.fromList + [("AdditionalColumn2","test2") + ,("AdditionalColumn1","test1") + ,("Contamination_Note","") + ,("Date_Note","x x x") + ,("Relation_Note","yyy") + ,("Source_Tissue","xxx;yyy")]) + , CsvNamedRecord (HM.fromList + [("AdditionalColumn2","test4") + ,("AdditionalColumn1","test3") + ,("Contamination_Note","xxx") + ,("Date_Note","yyy") + ,("Relation_Note","n/a") + ,("Source_Tissue","xxx")]) + , CsvNamedRecord (HM.fromList + [("AdditionalColumn2","test6") + ,("AdditionalColumn1","test5") + ,("Contamination_Note","n/a") + ,("Date_Note","n/a") + ,("Relation_Note","xxx") + ,("Source_Tissue","xxx")]) ] -- the following tests should be more precise and comprehensive; we should consider refactoring -- (maybe when we eventually switch to a different error logging strategy) it "should fail to read janno files with missing mandatory columns" $ do - testLog (readJannoFile ["Bohrmaschine"] normalFullJannoPath) `shouldThrow` anyException + testLog (readJannoFile latestPoseidonVersion ["Bohrmaschine"] normalJannoPath) `shouldThrow` anyException it "should fail to read somehow borked janno files" $ do - testLog (readJannoFile [] borkedFullJannoPath) `shouldThrow` anyException - testLog (readJannoFile [] borkedPartialJannoPath) `shouldThrow` anyException + testLog (readJannoFile latestPoseidonVersion [] borkedJannoPath) `shouldThrow` anyException it "should fail to read borked janno files with specific issues" $ do let borkedDir = "test/testDat/testJannoFiles/specificallyBorked" - testLog (readJannoFile [] $ borkedDir "borked_wrong_name.janno") `shouldThrow` anyException - testLog (readJannoFile [] $ borkedDir "borked_relations.janno") `shouldThrow` anyException - testLog (readJannoFile [] $ borkedDir "borked_contamination.janno") `shouldThrow` anyException - testLog (readJannoFile [] $ borkedDir "borked_dating.janno") `shouldThrow` anyException - testLog (readJannoFile [] $ borkedDir "borked_ISO_country.janno") `shouldThrow` anyException + testLog (readJannoFile latestPoseidonVersion [] $ borkedDir "borked_wrong_name.janno") `shouldThrow` anyException + testLog (readJannoFile latestPoseidonVersion [] $ borkedDir "borked_relations.janno") `shouldThrow` anyException + testLog (readJannoFile latestPoseidonVersion [] $ borkedDir "borked_contamination.janno") `shouldThrow` anyException + testLog (readJannoFile latestPoseidonVersion [] $ borkedDir "borked_dating.janno") `shouldThrow` anyException + testLog (readJannoFile latestPoseidonVersion [] $ borkedDir "borked_ISO_country.janno") `shouldThrow` anyException + testLog (readJannoFile latestPoseidonVersion [] $ borkedDir "borked_cultural_era.janno") `shouldThrow` anyException + testLog (readJannoFile latestPoseidonVersion [] $ borkedDir "borked_arch_cultural_url.janno") `shouldThrow` anyException + testLog (readJannoFile latestPoseidonVersion [] $ borkedDir "borked_alternative_ids_context.janno") `shouldThrow` anyException diff --git a/test/Poseidon/JannocoalesceSpec.hs b/test/Poseidon/JannocoalesceSpec.hs index 6b61a9987..a50be1e2e 100644 --- a/test/Poseidon/JannocoalesceSpec.hs +++ b/test/Poseidon/JannocoalesceSpec.hs @@ -7,6 +7,7 @@ import Poseidon.CLI.Jannocoalesce (CoalesceJannoColumnSpec (..), import Poseidon.ColumnTypesJanno import Poseidon.ColumnTypesUtils import Poseidon.Janno (JannoRow (..), createMinimalSample) +import Poseidon.PoseidonVersion import Poseidon.Utils (testLog) import Control.Monad.IO.Class (liftIO) @@ -26,7 +27,6 @@ jannoTargetRow = in row { jCountry = Just $ JannoCountry "Austria", jSite = Just $ JannoSite "Vienna", - jDateNote = Just $ JannoDateNote "dating didn't work", jAdditionalColumns = CsvNamedRecord $ HM.fromList [ ("AdditionalColumn2", "C") ] @@ -38,8 +38,8 @@ jannoSourceRow = in row { jCountry = Just $ JannoCountry "Austria", jSite = Just $ JannoSite "Salzburg", - jLatitude = make "30.0", - jLongitude = make "30.0", + jLatitude = make latestPoseidonVersion "30.0", + jLongitude = make latestPoseidonVersion "30.0", jAdditionalColumns = CsvNamedRecord $ HM.fromList [ ("AdditionalColumn1", "A"), ("AdditionalColumn2", "B") @@ -71,8 +71,8 @@ testMergeSingleRow = merged <- testLog $ mergeRow cp jannoTargetRow jannoSourceRow AllJannoColumns False "Poseidon_ID" "Poseidon_ID" jSite merged `shouldBe` Just (JannoSite "Vienna") jGroupName merged `shouldBe` ListColumn [GroupName "SamplePop"] - jLatitude merged `shouldBe` make "30.0" - jLongitude merged `shouldBe` make "30.0" + jLatitude merged `shouldBe` make latestPoseidonVersion "30.0" + jLongitude merged `shouldBe` make latestPoseidonVersion "30.0" jAdditionalColumns merged `shouldBe` CsvNamedRecord (HM.fromList [ ("AdditionalColumn1", "A"), ("AdditionalColumn2", "C") @@ -82,8 +82,8 @@ testMergeSingleRow = merged <- testLog $ mergeRow cp jannoTargetRow jannoSourceRow AllJannoColumns True "Poseidon_ID" "Poseidon_ID" jSite merged `shouldBe` Just (JannoSite "Salzburg") jGroupName merged `shouldBe` ListColumn [GroupName "SamplePop2"] - jLatitude merged `shouldBe` make "30.0" - jLongitude merged `shouldBe` make "30.0" + jLatitude merged `shouldBe` make latestPoseidonVersion "30.0" + jLongitude merged `shouldBe` make latestPoseidonVersion "30.0" jAdditionalColumns merged `shouldBe` CsvNamedRecord (HM.fromList [ ("AdditionalColumn1", "A"), ("AdditionalColumn2", "B") @@ -93,7 +93,7 @@ testMergeSingleRow = merged <- testLog $ mergeRow cp jannoTargetRow jannoSourceRow (IncludeJannoColumns ["Group_Name", "Latitude"]) False "Poseidon_ID" "Poseidon_ID" jSite merged `shouldBe` Just (JannoSite "Vienna") jGroupName merged `shouldBe` ListColumn [GroupName "SamplePop"] - jLatitude merged `shouldBe` make "30.0" + jLatitude merged `shouldBe` make latestPoseidonVersion "30.0" jLongitude merged `shouldBe` Nothing jAdditionalColumns merged `shouldBe` CsvNamedRecord (HM.fromList [ ("AdditionalColumn2", "C") @@ -104,7 +104,7 @@ testMergeSingleRow = jSite merged `shouldBe` Just (JannoSite "Vienna") jGroupName merged `shouldBe` ListColumn [GroupName "SamplePop"] jLatitude merged `shouldBe` Nothing - jLongitude merged `shouldBe` make "30.0" + jLongitude merged `shouldBe` make latestPoseidonVersion "30.0" jAdditionalColumns merged `shouldBe` CsvNamedRecord (HM.fromList [ ("AdditionalColumn1", "A"), ("AdditionalColumn2", "C") @@ -114,7 +114,7 @@ testMergeSingleRow = merged <- testLog $ mergeRow cp jannoTargetRow jannoSourceRow (IncludeJannoColumns ["Group_Name", "Latitude"]) True "Poseidon_ID" "Poseidon_ID" jSite merged `shouldBe` Just (JannoSite "Vienna") jGroupName merged `shouldBe` ListColumn [GroupName "SamplePop2"] - jLatitude merged `shouldBe` make "30.0" + jLatitude merged `shouldBe` make latestPoseidonVersion "30.0" jLongitude merged `shouldBe` Nothing jAdditionalColumns merged `shouldBe` CsvNamedRecord (HM.fromList [ ("AdditionalColumn2", "C") diff --git a/test/Poseidon/PackageSpec.hs b/test/Poseidon/PackageSpec.hs index d08255a94..cf9b3a5d3 100644 --- a/test/Poseidon/PackageSpec.hs +++ b/test/Poseidon/PackageSpec.hs @@ -18,6 +18,7 @@ import Poseidon.Package (LicenseSpec (..), readPoseidonPackage, readPoseidonPackageCollection, renderMismatch, zipWithPadding) +import Poseidon.PoseidonVersion (PoseidonVersion (..)) import Poseidon.Utils (ErrorLength (..), LogMode (..), PoseidonException (..), TestMode (..), getChecksum, noLog, @@ -93,7 +94,7 @@ replace from to s = truePackageRelPaths :: PoseidonYamlStruct truePackageRelPaths = PoseidonYamlStruct { - _posYamlPoseidonVersion = makeVersion [2, 0, 1], + _posYamlPoseidonVersion = PoseidonVersion $ makeVersion [2, 0, 1], _posYamlTitle = "Schiffels_2016", _posYamlDescription = Just "Genetic data published in Schiffels et al. 2016", _posYamlContributor = [ @@ -182,7 +183,7 @@ testPoseidonFromYAML = describe "PoseidonPackage.fromYAML" $ do decodeTest bs = decodeEither' bs dummyPackageYamlStruct :: PoseidonYamlStruct dummyPackageYamlStruct = PoseidonYamlStruct { - _posYamlPoseidonVersion = makeVersion [0, 0, 0], + _posYamlPoseidonVersion = PoseidonVersion $ makeVersion [0, 0, 0], _posYamlTitle = "dummyPackage", _posYamlDescription = Nothing, _posYamlContributor = [], diff --git a/test/Poseidon/SequencingSourceSpec.hs b/test/Poseidon/SequencingSourceSpec.hs index b4e13ca4d..a7506dc41 100644 --- a/test/Poseidon/SequencingSourceSpec.hs +++ b/test/Poseidon/SequencingSourceSpec.hs @@ -13,6 +13,7 @@ import Poseidon.Utils (testLog) import Data.HashMap.Strict (fromList) import Data.Time (fromGregorian) +import Poseidon.PoseidonVersion import Test.Hspec (Spec, anyException, describe, it, shouldBe, shouldThrow) @@ -56,7 +57,7 @@ testReadSeqSourceFile :: Spec testReadSeqSourceFile = describe "Poseidon.SequencingSource.readSeqSourceFile" $ do let normalFullSeqSourcePath = "test/testDat/testSeqSourceFiles/normal_full.ssf" it "should read normal .ssf files correctly" $ do - (SeqSourceRows s) <- testLog $ readSeqSourceFile [] normalFullSeqSourcePath + (SeqSourceRows s) <- testLog $ readSeqSourceFile latestPoseidonVersion [] normalFullSeqSourcePath length s `shouldBe` 3 map sPoseidonID s `shouldBe` [ Just $ ListColumn ["Ash033.SG"] , Just $ ListColumn ["Ash002.SG"] @@ -166,4 +167,4 @@ testReadSeqSourceFile = describe "Poseidon.SequencingSource.readSeqSourceFile" $ map sAdditionalColumns s `shouldBe` [CsvNamedRecord $ fromList [], CsvNamedRecord $ fromList [], CsvNamedRecord $ fromList []] it "should fail to read ssf files with missing mandatory columns" $ do - testLog (readSeqSourceFile ["Bohrmaschine"] normalFullSeqSourcePath) `shouldThrow` anyException + testLog (readSeqSourceFile latestPoseidonVersion ["Bohrmaschine"] normalFullSeqSourcePath) `shouldThrow` anyException diff --git a/test/Poseidon/SurveySpec.hs b/test/Poseidon/SurveySpec.hs index 923c80c2e..668ee2e25 100644 --- a/test/Poseidon/SurveySpec.hs +++ b/test/Poseidon/SurveySpec.hs @@ -2,8 +2,9 @@ module Poseidon.SurveySpec (spec) where import Poseidon.CLI.Survey import Poseidon.Janno +import Poseidon.PoseidonVersion -import Poseidon.Utils (testLog) +import Poseidon.Utils (testLog) import Test.Hspec spec :: Spec @@ -11,21 +12,20 @@ spec = do testRenderJannoCompleteness testJannoNormal :: FilePath -testJannoNormal = "test/testDat/testJannoFiles/normal_full.janno" +testJannoNormal = "test/testDat/testJannoFiles/normal.janno" testJannoMinimal :: FilePath -testJannoMinimal = "test/testDat/testJannoFiles/minimal_full.janno" +testJannoMinimal = "test/testDat/testJannoFiles/minimal.janno" testRenderJannoCompleteness :: Spec testRenderJannoCompleteness = describe "Poseidon.CLI.Survey.renderJannoCompleteness" $ do it "should work for a full janno file" $ do - janno <- testLog $ readJannoFile [] testJannoNormal + janno <- testLog $ readJannoFile latestPoseidonVersion [] testJannoNormal renderJannoCompleteness janno - `shouldBe` - "\9608\9608\9608\9619\9608\9608\9619\9619.\9608\9608\9608\9608\9608\9608\9608\9618\9618\9618\9608\9608\9608\9619\9608\9608\9608\9608\9619\9608\9608\9608\9608\9608\9608\9608\9608\9608\9619\9619\9619\9618\9608\9608\9608\9619\9619" + `shouldBe` "███..▓.██▓..▒▒▒▒███████▒▒▒███.████▓█████████▓▓▓███▓▓" it "should work for a minimum janno file" $ do - janno <- testLog $ readJannoFile [] testJannoMinimal + janno <- testLog $ readJannoFile latestPoseidonVersion [] testJannoMinimal renderJannoCompleteness janno `shouldBe` - "\9608\9608\9608..........................................." + "███................................................." diff --git a/test/PoseidonGoldenTests/GoldenTestCheckSumFile.txt b/test/PoseidonGoldenTests/GoldenTestCheckSumFile.txt index f1c595d52..29ac902e6 100644 --- a/test/PoseidonGoldenTests/GoldenTestCheckSumFile.txt +++ b/test/PoseidonGoldenTests/GoldenTestCheckSumFile.txt @@ -1,26 +1,26 @@ Checksums for trident CLI output Automatically generated with: poseidon-devtools golden -829e5415bf7a3d7508692a7fe274526b init init/Schiffels/POSEIDON.yml -fd632717ecaf337a39cfd7a828a54e99 init init/Schiffels/Schiffels.janno +953c432ab269544e26858ffdbb60f80c init init/Schiffels/POSEIDON.yml +133823b9a04fb56e6816d370ca378be6 init init/Schiffels/Schiffels.janno 0332344057c0c4dce2ff7176f8e1103d init init/Schiffels/geno.txt 9edc4a757f785a8ecb59c54d16c5690a init init/Schiffels/Schiffels.bib -c35421d9be15aa66fa3a3c46df1f746c init init/Wang/POSEIDON.yml +ad2dabcd410c9b7c1adc654bdc13e545 init init/Wang/POSEIDON.yml ae66d851301f4a761b819f97ec28fa55 init init/Wang/Wang_2020.bed -72400156a00aa01e4da7c84a1fcfe829 init init_vcf/Schiffels_vcf/POSEIDON.yml -fd632717ecaf337a39cfd7a828a54e99 init init_vcf/Schiffels_vcf/Schiffels.janno +0d8e8b2459b299f7ce37592e1ecb8942 init init_vcf/Schiffels_vcf/POSEIDON.yml +133823b9a04fb56e6816d370ca378be6 init init_vcf/Schiffels_vcf/Schiffels.janno b088fa0fea0d013ddebacd7b6276fc53 init init_vcf/Schiffels_vcf/geno.vcf 9edc4a757f785a8ecb59c54d16c5690a init init_vcf/Schiffels_vcf/Schiffels.bib -7b52e29d89fa1ddefb93d1948f6f3a39 validate validate/validate1 -7b52e29d89fa1ddefb93d1948f6f3a39 validate validate/validate2 -6709fc7f1cc482109371385d74a5b79c validate validate/validate3 +7ff075c4f28774374b4a9abef2d5f57e validate validate/validate1 +7ff075c4f28774374b4a9abef2d5f57e validate validate/validate2 +e8df3420f6744e21d2710f930caede8a validate validate/validate3 a6848eee8b9eff07afdfc8fd05fcbfc8 validate validate/validate4 09de4ccf98625c5ca959dc8d0907868b validate validate/validate5 14d508dc4be10bb58d85ec1f5bce29f8 validate validate/validate6 2cd34facc67add71da65c686d851c49a validate validate/validate7 f6f94c460be4b42d4b19556310190d47 validate validate/validate8 570ca8838b506a6964cb28ee18a40a84 validate validate/validate9 -3114691d10abb91f699fff06a05b5b74 validate validate/validate10 +a13421cff9effe2a38155940381a6aed validate validate/validate10 c5b93d74cf7223b0b59ff04217767601 validate validate/validate11 af652ba4e2f30444fded3f4f2ab49245 validate validate/validate12 a39330855c6b1f67a52cc4c007b74aac validate validate/validate13 @@ -29,13 +29,13 @@ b18847f5498ae55882689b75916fdf64 list list/list2 d6eafec9087c88ed6a95e4a22f1f306c list list/list3 27c6118de70743426f8d8157ddd0f1c7 list list/list4 bc636b9c03ea9359acd254a9911e5af3 list list/list5 -b69c17ad4893e4e9bdcb767a229eaccb list list/list6 +32c841b67d2995cdc1312f3721df5916 list list/list6 35689d85d4ac5da9a4189b728403f16b list list/list7 b197fb8dd883c7469a4791e4a677f1c0 summarise summarise/summarise1 d9e4b3f15d4e129a365d2064198d95b6 summarise summarise/summarise2 -a1186fdad9ed555dff4dd61dc9838645 survey survey/survey1 -cb06fd6fa565f76134e9edd2c9cb0caf survey survey/survey2 -6d8cdfb6d202eb3cf250ef2dfbed2019 survey survey/survey3 +5a5ff1b07bcc6ba917d5e492b886b71c survey survey/survey1 +c6f52fb6e623fb583e382a3c702542c9 survey survey/survey2 +f55ca00c39d04129775378f17d3e6f1b survey survey/survey3 3c38f40efe215a047c02f4e98e0390da genoconvert genoconvert/Schiffels/Schiffels_2016.bed 8538ffd971ebb12cf5ef6e338da27970 genoconvert genoconvert/Schiffels/Schiffels_2016.bim a9fcb59cb933d8f183f3c3f6fbf2e213 genoconvert genoconvert/Schiffels/Schiffels_2016.fam @@ -54,86 +54,86 @@ a9fcb59cb933d8f183f3c3f6fbf2e213 genoconvert init_vcf/Schiffels_vcf/geno.fam 3c38f40efe215a047c02f4e98e0390da genoconvert genoconvert/zip_roundtrip/Schiffels_2016.bed 8538ffd971ebb12cf5ef6e338da27970 genoconvert genoconvert/zip_roundtrip/Schiffels_2016.bim a9fcb59cb933d8f183f3c3f6fbf2e213 genoconvert genoconvert/zip_roundtrip/Schiffels_2016.fam -72c7a584feefddb31f817c205355dd14 rectify init/Schiffels/POSEIDON.yml +57c109be74d7c596bcb76aae03b2d124 rectify init/Schiffels/POSEIDON.yml 4aeae97cfc44b55b2a8005425d786148 rectify init/Schiffels/CHANGELOG.md -925e402351afd974403402d141abe342 rectify init/Schiffels/POSEIDON.yml +174375c685f2e1b7432172e6075f1f2f rectify init/Schiffels/POSEIDON.yml 3bb396e099d5b8771a3409f5fe85d70b rectify init/Schiffels/CHANGELOG.md -b9216f365108c5c5c66f78cceb2eb09a rectify init/Schiffels/POSEIDON.yml +667074fbd38a002cf44750e92346a118 rectify init/Schiffels/POSEIDON.yml 3bb396e099d5b8771a3409f5fe85d70b rectify init/Schiffels/CHANGELOG.md ebf0b456d5e09686ee7131db06848104 rectify init/Schiffels/POSEIDON.yml 3bb396e099d5b8771a3409f5fe85d70b rectify init/Schiffels/CHANGELOG.md 083fe7ef4206c979356a3a2454d780b1 rectify init/Schiffels/Schiffels.janno -2757f727e02dd6453fffe68c4c6ec4c8 forge forge/ForgePac1/POSEIDON.yml +70c5738719b889bfb7dc3bae0db692d0 forge forge/ForgePac1/POSEIDON.yml 1286a2580e4bfbed7d804d5f3fe125f7 forge forge/ForgePac1/ForgePac1.geno -8846333d9a1de6510f25a3816cc70fef forge forge/ForgePac1/ForgePac1.janno -9089f5d5602937bb7713e1dc8d7a8f2d forge forge/ForgePac1/ForgePac1.ssf +848cf0fab32e4078a88cc17ad8ec3381 forge forge/ForgePac1/ForgePac1.janno +a1daaa1ebc9c93405acb4a0f24ffa355 forge forge/ForgePac1/ForgePac1.ssf b4f71aff4fbc11594008c3811781cc43 forge forge/ForgePac1/ForgePac1.bib -15ea8dd8b98172e3554732ceb2adfe09 forge forge/ForgePac1_vcf/POSEIDON.yml +d860abe4b07926c1114a52cee70e8b0d forge forge/ForgePac1_vcf/POSEIDON.yml 9e0c33410f399caf99446f01a7ed7809 forge forge/ForgePac1_vcf/ForgePac1_vcf.geno -8846333d9a1de6510f25a3816cc70fef forge forge/ForgePac1_vcf/ForgePac1_vcf.janno -9089f5d5602937bb7713e1dc8d7a8f2d forge forge/ForgePac1_vcf/ForgePac1_vcf.ssf +848cf0fab32e4078a88cc17ad8ec3381 forge forge/ForgePac1_vcf/ForgePac1_vcf.janno +a1daaa1ebc9c93405acb4a0f24ffa355 forge forge/ForgePac1_vcf/ForgePac1_vcf.ssf b4f71aff4fbc11594008c3811781cc43 forge forge/ForgePac1_vcf/ForgePac1_vcf.bib -47485dc1f997a30c61cd2f72fe259013 forge forge/ForgePac2/POSEIDON.yml +888d4807b03ab8b8b836fc16d8cc4ba0 forge forge/ForgePac2/POSEIDON.yml 6010163f73dc9cf5185933fc7a0333df forge forge/ForgePac2/ForgePac2.bed -0542b6a5a04a74237f1c1d02783c87e1 forge forge/ForgePac3/POSEIDON.yml +803af192a7aa77dcba1863e869c22d6a forge forge/ForgePac3/POSEIDON.yml 7bd06bf634e6c29815a74532f696d753 forge forge/ForgePac3/ForgePac3.geno d817ecc64d504e1351d85996903f09b2 forge forge/ForgePac3/ForgePac3.snp ad8add34e464ee620bb392c00636e7f2 forge forge/ForgePac3/ForgePac3.ind -163f0ccc70bdbb2e4274e9ba57b41c25 forge forge/ForgePac3/ForgePac3.janno -7689c41aee5ce824e4281d3d81426c0c forge forge/ForgePac3/ForgePac3.ssf -3dbdce00b3b4f6f16a251dfeb04b86d4 forge forge/ForgePac4/POSEIDON.yml +3163a6c626e7c4a55162a33601cd344a forge forge/ForgePac3/ForgePac3.janno +a534f60c502a792f5c8404a9fc3054b9 forge forge/ForgePac3/ForgePac3.ssf +b016301ec2fa40176e8f08c3bd2c231c forge forge/ForgePac4/POSEIDON.yml f348944d864cbaa595f138b11d154248 forge forge/ForgePac4/ForgePac4.bim 217cbb31258a3a7c9522d8dc9bda2386 forge forge/ForgePac4/ForgePac4.bed 3001829ad782e27375a6132583c16f05 forge forge/ForgePac4/ForgePac4.fam -271f090e79393f5d6f032c3b6a1b1773 forge forge/ForgePac4/ForgePac4.janno -4ed49b8e5f094fef112a22c0b22c2cc9 forge forge/ForgePac4/ForgePac4.ssf -f843f417fb4049531b7c3bd8e21dc348 forge forge/ForgePac5/POSEIDON.yml +6bdd8baf96d8f1437f1b35bbec9654a1 forge forge/ForgePac4/ForgePac4.janno +103c6305eaa79811cff5b51aa401c465 forge forge/ForgePac4/ForgePac4.ssf +12eb7cadebe2e247539048d257fde851 forge forge/ForgePac5/POSEIDON.yml 5a3783db28cf9da6356b3c6105564be5 forge forge/ForgePac5/ForgePac5.geno -cf5700b1202bf447aae6197ab4ed7523 forge forge/ForgePac5/ForgePac5.janno -ad2e307c7d7eb09d39f8e4996cd1d876 forge forge/ForgePac5/ForgePac5.ssf +fe8ab20f55cf750f1249b9598f40df0a forge forge/ForgePac5/ForgePac5.janno +1327f2ba8c436fd1050813a082f6af44 forge forge/ForgePac5/ForgePac5.ssf 1286a2580e4bfbed7d804d5f3fe125f7 forge forge/ForgePac6/ForgePac6.geno 6e3ecc6695234ba1e71045278634d06b forge forge/ForgePac6/ForgePac6.snp 2bd17be137df5cb11830b09b833b937d forge forge/ForgePac6/ForgePac6.ind 1286a2580e4bfbed7d804d5f3fe125f7 forge forge/ForgePac7/ForgePac7.geno 6e3ecc6695234ba1e71045278634d06b forge forge/ForgePac7/ForgePac7.snp 2bd17be137df5cb11830b09b833b937d forge forge/ForgePac7/ForgePac7.ind -677d0be648a7d041972014b7f44e55b2 forge forge/ForgePac7/ForgePac7.janno -3d995655481affe3dbde9ab508a4bac3 forge forge/ForgePac8/ForgePac8.janno -f3ccde65ef97ef52ae0546a48a8a3258 forge forge/ForgePac8/ForgePac8.ssf +d480376e41da91f056779969ba2ca6c8 forge forge/ForgePac7/ForgePac7.janno +5d3ed7862824c9b3860412ec895af182 forge forge/ForgePac8/ForgePac8.janno +24882e62b96340abc4e74b354d3b67e0 forge forge/ForgePac8/ForgePac8.ssf 84bac408ab864c357bb2a6e1db5cda20 forge forge/ForgePac9/ForgePac9.geno -48227a1fa487029cbd190f7ebc5d82c8 forge forge/ForgePac9/ForgePac9.janno -38ddf396dbccc348f6240d80c1b88d16 forge forge/ForgePac9/ForgePac9.ssf +c900c31ba87ded89b5d57eff2c543993 forge forge/ForgePac9/ForgePac9.janno +487220b6fff6349c1d274945b26ecd8e forge forge/ForgePac9/ForgePac9.ssf bcccc5136aade390f711fee3695ef62b forge forge/ForgePac10/ForgePac10.geno -a4300323a1603fbf06bd04fd3364a74d forge forge/ForgePac10/ForgePac10.janno -0aef7781caa017fa2b888dfa64b60cf3 forge forge/ForgePac10/ForgePac10.ssf +318fb50802161edca4c63d882a1e0731 forge forge/ForgePac10/ForgePac10.janno +a62c05bb53e72309fc5062a3ea701c5a forge forge/ForgePac10/ForgePac10.ssf bdef2c307caa92ee7a3e946d0264171a forge forge/ForgePac10/ForgePac10.bib 0332344057c0c4dce2ff7176f8e1103d forge forge/ForgePac11/ForgePac11.geno -4c9dfdb37e4568e091796acbc95bbc9a forge forge/ForgePac11/ForgePac11.janno -0aef7781caa017fa2b888dfa64b60cf3 forge forge/ForgePac11/ForgePac11.ssf +d134f76c49bb7385e0493244d2900a4e forge forge/ForgePac11/ForgePac11.janno +a62c05bb53e72309fc5062a3ea701c5a forge forge/ForgePac11/ForgePac11.ssf 0bb988d9e1c981a47f332bea8a16e984 forge forge/ForgePac12/ForgePac12.ind -d2d112d9de2e45a113ac206f64a0667e forge forge/ForgePac13/ForgePac13.janno -0c7fe7434a003239079cd5d89b449aed forge forge/ForgePac14/ForgePac14.janno -c3ea6ad176514659f44ffb71291117d0 forge forge/ForgePac15/ForgePac15.janno -c3ea6ad176514659f44ffb71291117d0 forge forge/ForgePac16/ForgePac16.janno -4e3c2fcf7c1f3b2de916666c3abdd53c forge forge/ForgePac17/ForgePac17.janno -8ad890117500b83c206729a8126d8a51 forge forge/ForgePac18/ForgePac18.janno +35a717d522094e1feba7468590608b2f forge forge/ForgePac13/ForgePac13.janno +7ec893f4dde2f136d66b5e3f2ee6aca9 forge forge/ForgePac14/ForgePac14.janno +b7b2f1ad925f7e1e66e2a8040d5985fb forge forge/ForgePac15/ForgePac15.janno +b7b2f1ad925f7e1e66e2a8040d5985fb forge forge/ForgePac16/ForgePac16.janno +b17d37da626be3a61212447692899a19 forge forge/ForgePac17/ForgePac17.janno +d6f09712aed72a3662cddedc4b9d9c11 forge forge/ForgePac18/ForgePac18.janno 3fc77f5a5b83ac4fc7b082c9b3ee4ba1 forge forge/ForgePac18/ForgePac18.fam 842885ffe256819b264991384020c2ac forge forge/ForgePac18/ForgePac18.bed -a9cbc16f9e90ceabe2c3c1e6722ab450 forge forge/ForgePac19/POSEIDON.yml -7689c41aee5ce824e4281d3d81426c0c forge forge/ForgePac19/ForgePac19.ssf +85d7bb587510a3f8570a3ef13cb43591 forge forge/ForgePac19/POSEIDON.yml +a534f60c502a792f5c8404a9fc3054b9 forge forge/ForgePac19/ForgePac19.ssf d88b79afe51a6dd77cbf2670e7a295d4 forge forge/ForgePac19/ForgePac19.bib 3de8f8b0dc94b8c2230fab9ec0ba0506 forge forge/ForgePac19/README.md ad7e56177aad0a720f0bde13d47f2ac1 forge forge/ForgePac19/CHANGELOG.md 0861e587ee9744fd901ebf8f0e05377a forge forge/ForgePac19/ForgePac19.bed 8538ffd971ebb12cf5ef6e338da27970 forge forge/ForgePac19/ForgePac19.bim 9b22cab26cdae87bd79d24c289e48433 forge forge/ForgePac19/ForgePac19.fam -b7b649620cd37bd4a6d6f0f31c1c56da forge forge/ForgePac19/ForgePac19.janno -b36b3ca509c235d0f15571c96195e801 forge forge/ForgePac20/POSEIDON.yml -e375863bca9e4a91c9855396abde31c7 forge forge/ForgePac20/ForgePac20.janno -d17a13be042bc19941d3b45fe9e699eb forge forge/ForgePac21/POSEIDON.yml +1ccc00ce437c91730e13ad9afe248663 forge forge/ForgePac19/ForgePac19.janno +3288b6ff2d7b02eec0f34a8434e4b7e3 forge forge/ForgePac20/POSEIDON.yml +100405d0cc3bf72c1c3d7b87b7a22029 forge forge/ForgePac20/ForgePac20.janno +1437df3c4767888907f6a986957337e1 forge forge/ForgePac21/POSEIDON.yml abdb2335dc85cbd21af5c41db3d8394e forge forge/ForgePac21/ForgePac21.vcf -8846333d9a1de6510f25a3816cc70fef forge forge/ForgePac21/ForgePac21.janno -9089f5d5602937bb7713e1dc8d7a8f2d forge forge/ForgePac21/ForgePac21.ssf +848cf0fab32e4078a88cc17ad8ec3381 forge forge/ForgePac21/ForgePac21.janno +a1daaa1ebc9c93405acb4a0f24ffa355 forge forge/ForgePac21/ForgePac21.ssf b4f71aff4fbc11594008c3811781cc43 forge forge/ForgePac21/ForgePac21.bib d4a05cfef045648238a94a9d621cf667 chronicle chronicle/chronicle1.yml b43da4d5734371c0648553120f812466 timetravel timetravel/Lamnidis_2018-1.0.0/POSEIDON.yml @@ -156,7 +156,7 @@ b43da4d5734371c0648553120f812466 fetch fetch/multi_packages_2/Lamnidis_2018-1.0. 0ddad9ea097bca0253e0c3c6157efa68 listRemote listRemote/listRemote2 705ecf31acfb9f21bfdc5bf4e77c10cd listRemote listRemote/listRemote3 0433b2a80ee5a2eb5bf8c6404130e562 listRemote listRemote/listRemote4 -06eb810bcba832e75d72f10800ea7774 listRemote listRemote/listRemote5 -eb610918796e03da3b0035655e9f8faa jannocoalesce jannocoalesce/target1.janno -df34d0542c0a94cf9556619bff2e301d jannocoalesce jannocoalesce/target2.janno -cc76b2bf0ad6637ea6502fdefcca3508 jannocoalesce jannocoalesce/target3.janno \ No newline at end of file +9b2f09a218c57fd1b79aa10dee38933a listRemote listRemote/listRemote5 +3ea2b421436a1be5cb631eaf6aa39546 jannocoalesce jannocoalesce/target1.janno +e429b08154988f73c502921beb7b0842 jannocoalesce jannocoalesce/target2.janno +a7983b6a2537513c43e5dc8105f6cec9 jannocoalesce jannocoalesce/target3.janno \ No newline at end of file diff --git a/test/PoseidonGoldenTests/GoldenTestData/chronicle/chronicle2.yml b/test/PoseidonGoldenTests/GoldenTestData/chronicle/chronicle2.yml index 132935974..a0e10b7ab 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/chronicle/chronicle2.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/chronicle/chronicle2.yml @@ -1,29 +1,29 @@ title: Chronicle title description: Chronicle description chronicleVersion: 0.2.0 -lastModified: 2026-01-06 +lastModified: 2026-01-18 packages: - title: Lamnidis_2018 version: 1.0.0 - commit: 42aa4ed94a92a370940c1cbf7d92f6c7f3a20835 + commit: ef6c5accac0d88c8198e6b55f131a08cf7d6707f path: Lamnidis_2018 - title: Lamnidis_2018 version: 1.0.1 - commit: 42aa4ed94a92a370940c1cbf7d92f6c7f3a20835 + commit: ef6c5accac0d88c8198e6b55f131a08cf7d6707f path: Lamnidis_2018_newVersion - title: Schiffels version: 1.1.1 - commit: 40a20143a2d7f604a6b8a7dd9bd0fdc30061019e + commit: 4ea40b7cded32f4a5b5e5692827c874ce475bc5c path: Schiffels - title: Schiffels_2016 version: 1.0.1 - commit: 42aa4ed94a92a370940c1cbf7d92f6c7f3a20835 + commit: ef6c5accac0d88c8198e6b55f131a08cf7d6707f path: Schiffels_2016 - title: Schmid_2028 version: 1.0.0 - commit: 42aa4ed94a92a370940c1cbf7d92f6c7f3a20835 + commit: ef6c5accac0d88c8198e6b55f131a08cf7d6707f path: Schmid_2028 - title: Wang_2020 version: 0.1.0 - commit: 42aa4ed94a92a370940c1cbf7d92f6c7f3a20835 + commit: ef6c5accac0d88c8198e6b55f131a08cf7d6707f path: Wang_2020 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1/ForgePac1.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1/ForgePac1.janno index c80e79c45..711911200 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1/ForgePac1.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1/ForgePac1.janno @@ -1,7 +1,7 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 -XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -SAMPLE2 F 3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1 n/a n/a n/a n/a -SAMPLE4 F 5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1;TestBook2 n/a n/a n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 +XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +SAMPLE2 F 3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1 n/a n/a n/a n/a +SAMPLE4 F 5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1;TestBook2 n/a n/a n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1/ForgePac1.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1/ForgePac1.ssf index c51f729c2..7ef55064d 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1/ForgePac1.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1/ForgePac1.ssf @@ -1,3 +1,3 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B -XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B +XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1/POSEIDON.yml index c0260fb70..cb79c3eb6 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac1 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac10/ForgePac10.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac10/ForgePac10.janno index 7b28ebf51..65bdfe494 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac10/ForgePac10.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac10/ForgePac10.janno @@ -1,11 +1,11 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 -XXX001 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 -XXX008 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 -XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 -XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 -XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 +XXX001 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 +XXX008 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 +XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 +XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 +XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac10/ForgePac10.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac10/ForgePac10.ssf index b1c5ad81a..0a8901b8a 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac10/ForgePac10.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac10/ForgePac10.ssf @@ -1,5 +1,5 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B -XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D -XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F -XXX001 n/a n/a n/a n/a ERR3518153 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a G H +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B +XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D +XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F +XXX001 n/a n/a n/a n/a ERR3518153 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a G H diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac10/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac10/POSEIDON.yml index cea6e6877..461efbddb 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac10/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac10/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac10 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac11/ForgePac11.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac11/ForgePac11.janno index cfe2bcf99..0a94bcded 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac11/ForgePac11.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac11/ForgePac11.janno @@ -1,11 +1,11 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 -XXX001 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 -XXX008 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 -XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 -XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 +XXX001 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 +XXX008 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 +XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 +XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac11/ForgePac11.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac11/ForgePac11.ssf index b1c5ad81a..0a8901b8a 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac11/ForgePac11.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac11/ForgePac11.ssf @@ -1,5 +1,5 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B -XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D -XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F -XXX001 n/a n/a n/a n/a ERR3518153 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a G H +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B +XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D +XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F +XXX001 n/a n/a n/a n/a ERR3518153 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a G H diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac11/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac11/POSEIDON.yml index 359975abc..37d274ef7 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac11/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac11/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac11 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac12/ForgePac12.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac12/ForgePac12.janno index 514858171..21aa9dc8e 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac12/ForgePac12.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac12/ForgePac12.janno @@ -1,11 +1,11 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords -XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX012 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX014 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX015 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX016 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX017 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX018 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX019 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX099 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords +XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX012 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX014 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX015 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX016 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX017 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX018 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX019 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX099 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac12/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac12/POSEIDON.yml index f89ee2636..00ce515eb 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac12/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac12/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac12 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac13/ForgePac13.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac13/ForgePac13.janno index 1b3132093..556b46933 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac13/ForgePac13.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac13/ForgePac13.janno @@ -1,21 +1,21 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 AddCol3 -XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 -XXX012 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 -XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 -XXX014 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 -XXX015 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 -XXX016 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 -XXX017 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 -XXX018 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 -XXX019 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 -XXX020 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 -XXX001 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 n/a -XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 n/a -XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 n/a -XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 n/a -XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 n/a -XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 n/a -XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 n/a -XXX008 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 n/a -XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 n/a -XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 AddCol3 +XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 +XXX012 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 +XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 +XXX014 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 +XXX015 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 +XXX016 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 +XXX017 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 +XXX018 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 +XXX019 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 +XXX020 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 +XXX001 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 n/a +XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 n/a +XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 n/a +XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 n/a +XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 n/a +XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 n/a +XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 n/a +XXX008 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 n/a +XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 n/a +XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac13/ForgePac13.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac13/ForgePac13.ssf index b1c5ad81a..0a8901b8a 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac13/ForgePac13.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac13/ForgePac13.ssf @@ -1,5 +1,5 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B -XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D -XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F -XXX001 n/a n/a n/a n/a ERR3518153 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a G H +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B +XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D +XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F +XXX001 n/a n/a n/a n/a ERR3518153 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a G H diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac13/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac13/POSEIDON.yml index e4c6965a9..3d50459a5 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac13/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac13/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac13 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac14/ForgePac14.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac14/ForgePac14.janno index ecf5cf055..cad0ce4ff 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac14/ForgePac14.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac14/ForgePac14.janno @@ -1,3 +1,3 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol2 AddCol3 -XXX018 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a n/a -XXX017 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a v2 v3 +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol2 AddCol3 +XXX018 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a n/a +XXX017 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a v2 v3 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac14/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac14/POSEIDON.yml index b8c585ecd..030237e66 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac14/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac14/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac14 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac15/ForgePac15.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac15/ForgePac15.janno index 514858171..21aa9dc8e 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac15/ForgePac15.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac15/ForgePac15.janno @@ -1,11 +1,11 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords -XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX012 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX014 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX015 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX016 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX017 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX018 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX019 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX099 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords +XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX012 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX014 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX015 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX016 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX017 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX018 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX019 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX099 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac15/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac15/POSEIDON.yml index f8761b278..e40a9aa31 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac15/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac15/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac15 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac16/ForgePac16.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac16/ForgePac16.janno index 514858171..21aa9dc8e 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac16/ForgePac16.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac16/ForgePac16.janno @@ -1,11 +1,11 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords -XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX012 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX014 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX015 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX016 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX017 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX018 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX019 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX099 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords +XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX012 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX014 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX015 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX016 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX017 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX018 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX019 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX099 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac16/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac16/POSEIDON.yml index abc6b68f2..d39596e18 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac16/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac16/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac16 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac17/ForgePac17.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac17/ForgePac17.janno index de4b44b1f..eb9abd490 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac17/ForgePac17.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac17/ForgePac17.janno @@ -1,5 +1,5 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol2 AddCol3 -XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a v2 v3 -XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a v2 v3 -XXX019 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a v2 v3 -XXX020 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a v2 v3 +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol2 AddCol3 +XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a v2 v3 +XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 8 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a v2 v3 +XXX019 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a v2 v3 +XXX020 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a v2 v3 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac17/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac17/POSEIDON.yml index 7ffde6cec..2b321dc62 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac17/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac17/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac17 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac18/ForgePac18.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac18/ForgePac18.janno index 7337abc65..69ab20165 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac18/ForgePac18.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac18/ForgePac18.janno @@ -1,6 +1,6 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 -XXX008 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 -XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 -XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 +XXX008 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 +XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 +XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac18/ForgePac18.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac18/ForgePac18.ssf index 77da5e038..006323b97 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac18/ForgePac18.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac18/ForgePac18.ssf @@ -1,3 +1,3 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D -XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D +XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac18/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac18/POSEIDON.yml index 0d38c0a1b..526a1b188 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac18/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac18/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac18 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac19/ForgePac19.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac19/ForgePac19.janno index d39575d2d..a9a9be72f 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac19/ForgePac19.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac19/ForgePac19.janno @@ -1,2 +1,2 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 -XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 +XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac19/ForgePac19.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac19/ForgePac19.ssf index b65827c15..e8940dc27 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac19/ForgePac19.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac19/ForgePac19.ssf @@ -1,2 +1,2 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac19/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac19/POSEIDON.yml index f0057d17d..687b74631 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac19/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac19/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac19 description: Genetic data published in Schiffels et al. 2016 contributor: diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1_vcf/ForgePac1_vcf.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1_vcf/ForgePac1_vcf.janno index c80e79c45..711911200 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1_vcf/ForgePac1_vcf.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1_vcf/ForgePac1_vcf.janno @@ -1,7 +1,7 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 -XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -SAMPLE2 F 3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1 n/a n/a n/a n/a -SAMPLE4 F 5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1;TestBook2 n/a n/a n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 +XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +SAMPLE2 F 3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1 n/a n/a n/a n/a +SAMPLE4 F 5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1;TestBook2 n/a n/a n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1_vcf/ForgePac1_vcf.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1_vcf/ForgePac1_vcf.ssf index c51f729c2..7ef55064d 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1_vcf/ForgePac1_vcf.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1_vcf/ForgePac1_vcf.ssf @@ -1,3 +1,3 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B -XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B +XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1_vcf/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1_vcf/POSEIDON.yml index 5107eac0a..aace42c31 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1_vcf/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac1_vcf/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac1_vcf description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac2/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac2/POSEIDON.yml index e23ccaabb..629e3815b 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac2/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac2/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac2 genotypeData: format: PLINK diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac20/ForgePac20.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac20/ForgePac20.janno index 06214078c..82bfc4a00 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac20/ForgePac20.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac20/ForgePac20.janno @@ -1,3 +1,3 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords -XXX001 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a testà n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a MAMS-47224 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords +XXX001 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a testà n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a MAMS-47224 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac20/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac20/POSEIDON.yml index 77f662041..c0f0bfd58 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac20/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac20/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac20 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac21/ForgePac21.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac21/ForgePac21.janno index c80e79c45..711911200 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac21/ForgePac21.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac21/ForgePac21.janno @@ -1,7 +1,7 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 -XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -SAMPLE2 F 3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1 n/a n/a n/a n/a -SAMPLE4 F 5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1;TestBook2 n/a n/a n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 +XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +SAMPLE2 F 3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1 n/a n/a n/a n/a +SAMPLE4 F 5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1;TestBook2 n/a n/a n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac21/ForgePac21.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac21/ForgePac21.ssf index c51f729c2..7ef55064d 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac21/ForgePac21.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac21/ForgePac21.ssf @@ -1,3 +1,3 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B -XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B +XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac21/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac21/POSEIDON.yml index d977a9631..92f4b46ff 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac21/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac21/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac21 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac3/ForgePac3.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac3/ForgePac3.janno index 0bfdc18c1..d0434e0ec 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac3/ForgePac3.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac3/ForgePac3.janno @@ -1,4 +1,4 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 -XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 +XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac3/ForgePac3.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac3/ForgePac3.ssf index b65827c15..e8940dc27 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac3/ForgePac3.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac3/ForgePac3.ssf @@ -1,2 +1,2 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac3/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac3/POSEIDON.yml index 54b903579..f445d998a 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac3/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac3/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac3 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac4/ForgePac4.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac4/ForgePac4.janno index 659030e74..d7a299923 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac4/ForgePac4.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac4/ForgePac4.janno @@ -1,5 +1,5 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 -XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 -XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 -SAMPLE4 F 5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1;TestBook2 n/a n/a n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 +XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 +XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 +SAMPLE4 F 5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1;TestBook2 n/a n/a n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac4/ForgePac4.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac4/ForgePac4.ssf index b46a71fbd..87e3024d7 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac4/ForgePac4.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac4/ForgePac4.ssf @@ -1,2 +1,2 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac4/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac4/POSEIDON.yml index f2c3fae33..0ce8a33fe 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac4/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac4/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac4 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac5/ForgePac5.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac5/ForgePac5.janno index b315bcec9..810229b00 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac5/ForgePac5.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac5/ForgePac5.janno @@ -1,16 +1,16 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 -XXX001 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 -XXX008 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 -XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 -XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 -SAMPLE0 F 1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -SAMPLE1 M 2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a TestPaper1 n/a n/a n/a n/a -SAMPLE2 F 3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1 n/a n/a n/a n/a -SAMPLE3 M 4 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestBook2 n/a n/a n/a n/a -SAMPLE4 F 5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1;TestBook2 n/a n/a n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 +XXX001 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 +XXX008 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 +XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 +XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 +SAMPLE0 F 1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +SAMPLE1 M 2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a TestPaper1 n/a n/a n/a n/a +SAMPLE2 F 3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1 n/a n/a n/a n/a +SAMPLE3 M 4 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Wang2020;TestBook2 n/a n/a n/a n/a +SAMPLE4 F 5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1;TestBook2 n/a n/a n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac5/ForgePac5.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac5/ForgePac5.ssf index a5c633f64..f079d437a 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac5/ForgePac5.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac5/ForgePac5.ssf @@ -1,6 +1,6 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B -XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D -XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F -XXX001 n/a n/a n/a n/a ERR3518153 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a G H -SAMPLE1 n/a n/a n/a n/a ERR3518154 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B +XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D +XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F +XXX001 n/a n/a n/a n/a ERR3518153 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a G H +SAMPLE1 n/a n/a n/a n/a ERR3518154 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac5/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac5/POSEIDON.yml index 0ba231031..544be3c5b 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac5/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac5/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac5 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac7/ForgePac7.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac7/ForgePac7.janno index 2e7a68253..26e0fa61f 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac7/ForgePac7.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac7/ForgePac7.janno @@ -1,7 +1,7 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 -XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 -SAMPLE2 F 3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -SAMPLE4 F 5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note Chromosomal_Anomalies Chromosomal_Anomalies_Note MT_Haplogroup Y_Haplogroup Source_Material Source_Material_Note Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 +XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1 n/a n/a v1 v2 +SAMPLE2 F 3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +SAMPLE4 F 5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac7/ForgePac7.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac7/ForgePac7.ssf index c51f729c2..7ef55064d 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac7/ForgePac7.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac7/ForgePac7.ssf @@ -1,3 +1,3 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B -XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B +XXX002;XXX004;XXX005 n/a n/a n/a n/a ERR3518151 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a C D diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac7/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac7/POSEIDON.yml index 6e09322c8..dd51747ae 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac7/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac7/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac7 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac8/ForgePac8.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac8/ForgePac8.janno index 53796dc32..c3e77105a 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac8/ForgePac8.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac8/ForgePac8.janno @@ -1,3 +1,3 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 AddCol3 -XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 -XXX001 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 AddCol3 +XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 10 n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a n/a v2 v3 +XXX001 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac8/ForgePac8.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac8/ForgePac8.ssf index 193266623..c969c934d 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac8/ForgePac8.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac8/ForgePac8.ssf @@ -1,3 +1,3 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B -XXX001 n/a n/a n/a n/a ERR3518153 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a G H +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B +XXX001 n/a n/a n/a n/a ERR3518153 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a G H diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac8/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac8/POSEIDON.yml index 03e4e11d1..f92a0da25 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac8/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac8/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac8 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac9/ForgePac9.janno b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac9/ForgePac9.janno index a154aabb0..9caa8d161 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac9/ForgePac9.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac9/ForgePac9.janno @@ -1,5 +1,5 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 -XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 -XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 -XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 -XXX001 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AddCol1 AddCol2 +XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 7 n/a n/a n/a n/a n/a n/a n/a Schiffels2016 n/a n/a v1 v2 +XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestBook1 n/a n/a v1 v2 +XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a Schiffels2016;TestPaper1;TestBook1 n/a n/a v1 v2 +XXX001 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 9 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac9/ForgePac9.ssf b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac9/ForgePac9.ssf index 488331b97..949b3de92 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac9/ForgePac9.ssf +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac9/ForgePac9.ssf @@ -1,4 +1,4 @@ -poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp other_info_1 other_info_2 -XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B -XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F -XXX001 n/a n/a n/a n/a ERR3518153 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a G H +poseidon_IDs udg library_built sample_accession study_accession run_accession sample_alias secondary_sample_accession first_public last_updated instrument_model library_layout library_source instrument_platform library_name library_strategy fastq_ftp fastq_aspera fastq_bytes fastq_md5 read_count submitted_ftp submitted_md5 other_info_1 other_info_2 +XXX001;XXX002 n/a n/a n/a n/a ERR3518150 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a A B +XXX003 n/a n/a n/a n/a ERR3518152 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a E F +XXX001 n/a n/a n/a n/a ERR3518153 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a G H diff --git a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac9/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac9/POSEIDON.yml index efdbcebb0..696130f4a 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac9/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/forge/ForgePac9/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: ForgePac9 description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/genoconvert/out_vcf/Schiffels_2016.vcf.gz b/test/PoseidonGoldenTests/GoldenTestData/genoconvert/out_vcf/Schiffels_2016.vcf.gz index ec5865e55..1212982cd 100644 Binary files a/test/PoseidonGoldenTests/GoldenTestData/genoconvert/out_vcf/Schiffels_2016.vcf.gz and b/test/PoseidonGoldenTests/GoldenTestData/genoconvert/out_vcf/Schiffels_2016.vcf.gz differ diff --git a/test/PoseidonGoldenTests/GoldenTestData/init/Wang/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/init/Wang/POSEIDON.yml index 923bc4c51..55f95c914 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/init/Wang/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/init/Wang/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: Wang genotypeData: format: EIGENSTRAT diff --git a/test/PoseidonGoldenTests/GoldenTestData/init_vcf/Schiffels_vcf/POSEIDON.yml b/test/PoseidonGoldenTests/GoldenTestData/init_vcf/Schiffels_vcf/POSEIDON.yml index f5dbc109e..e4e6e0f12 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/init_vcf/Schiffels_vcf/POSEIDON.yml +++ b/test/PoseidonGoldenTests/GoldenTestData/init_vcf/Schiffels_vcf/POSEIDON.yml @@ -1,4 +1,4 @@ -poseidonVersion: 2.7.1 +poseidonVersion: 3.0.0 title: Schiffels description: Empty package template. Please add a description packageVersion: 0.1.0 diff --git a/test/PoseidonGoldenTests/GoldenTestData/init_vcf/Schiffels_vcf/Schiffels.janno b/test/PoseidonGoldenTests/GoldenTestData/init_vcf/Schiffels_vcf/Schiffels.janno index 3bf96b2c4..7671021cc 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/init_vcf/Schiffels_vcf/Schiffels.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/init_vcf/Schiffels_vcf/Schiffels.janno @@ -1,11 +1,11 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords -XXX001 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX008 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note Chromosomal_Anomalies Chromosomal_Anomalies_Note MT_Haplogroup Y_Haplogroup Source_Material Source_Material_Note Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords +XXX001 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +XXX002 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +XXX003 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +XXX004 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +XXX005 M POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +XXX006 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +XXX007 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +XXX008 F POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +XXX009 F POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +XXX010 M POP3 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/jannocoalesce/target1.janno b/test/PoseidonGoldenTests/GoldenTestData/jannocoalesce/target1.janno index 3659ae23f..4693b0119 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/jannocoalesce/target1.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/jannocoalesce/target1.janno @@ -1,4 +1,4 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AdditionalColumn1 AdditionalColumn2 -XXX011 M POP1 Paul;Peter XXX012;I1234 first;second father_of;grandfather_of yyy n/a xxx DE xxx xxx 0.0 0.0 C14 A-1;A-2;A-3 3000;3100;2900 30;40;20 -1200 -1000 -800 x x x A C xxx;yyy 2 Lib1;Lib2 Shotgun;1240K minus ds diploid ftp://test.test 0.0 1 0.0 0.0 10 1 ANGSD v.123 n/a Ich;mag;Kekse Ich unpublished This is a fine sample Hutschnur test1 test2 -XXX012 F POP2 n/a XXX011 first daughter_of n/a n/a xxx FR xxx xxx -90.0 -180.0 contextual n/a n/a n/a -5500 -5000 -4500 yyy B B xxx 1 Lib3 1240K half ss haploid https://www.google.de 0.0 1 0.0 100.0 20;50;70 2;5;7.4 Schmutzi v145;Zwiebel;other xxx aus Du PaulNature2026 Cheesecake n/a test3 test4 -XXX013 M POP1 Skeleton Joe XXX011 sixthToTenth n/a xxx n/a xxx EG xxx xxx 90.0 180.0 modern n/a n/a n/a 2000 2000 2000 n/a C A xxx 1 n/a ReferenceGenome plus mixed diploid http://huhu.org/23&test 0.0 1 0.0 50.0 n/a n/a n/a n/a der Dose Müllers Kuh BovineCell1618 n/a A;B;C test5 test6 +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AdditionalColumn1 AdditionalColumn2 Source_Tissue +XXX011 M POP1 n/a n/a Paul;Peter n/a XXX012;I1234 first;second father_of;grandfather_of yyy n/a n/a Danish Bronze Age;Pre-Pottery Neolithic A https://chronontology.dainst.org/period/Gx4uxaeTCbbg;https://n2t.net/ark:/99152/p0zj6g8ks9s n/a n/a xxx DE xxx xxx 0.0 0.0 C14 A-1;A-2;A-3 3000;3100;2900 30;40;20 -1200 -1000 -800 x x x n/a A C petrous;other 2 Lib1;Lib2 Shotgun;1240K minus ds diploid ftp://test.test 0.1 1 0.0 0.0 10 1 ANGSD v.123 n/a Ich;mag;Kekse Ich unpublished This is a fine sample Hutschnur test1 test2 xxx;yyy +XXX012 F POP2 n/a n/a n/a n/a XXX011 first daughter_of n/a n/a n/a n/a n/a Hallstatt culture (Hungary) https://n2t.net/ark:/99152/p0nxc78fxgt xxx FR xxx xxx -90.0 -180.0 contextual n/a n/a n/a -5500 -5000 -4500 yyy n/a B B soft 1 Lib3 1240K half ss haploid https://www.google.de 0.3 1 0.0 1.0;0.1 20;50;70 2;5;7.4 Schmutzi v145;Zwiebel;other xxx aus Du PaulNature2026 Cheesecake n/a test3 test4 xxx +XXX013 M POP1 n/a n/a Skeleton Joe n/a XXX011 sixthToTenth n/a xxx n/a n/a n/a n/a n/a n/a xxx EG xxx xxx 90.0 180.0 modern n/a n/a n/a 2000 2000 2000 n/a n/a C A hair 1 n/a ArborPrimePlus plus mixed diploid http://huhu.org/23&test 0.4 1 0.0 0.5 n/a n/a n/a n/a der Dose Müllers Kuh BovineCell1618 n/a A;B;C test5 test6 xxx diff --git a/test/PoseidonGoldenTests/GoldenTestData/jannocoalesce/target2.janno b/test/PoseidonGoldenTests/GoldenTestData/jannocoalesce/target2.janno index 65080c7c5..07f596b5e 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/jannocoalesce/target2.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/jannocoalesce/target2.janno @@ -1,4 +1,4 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords -XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 0.0 0.0 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX012 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -90.0 -180.0 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 90.0 180.0 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords +XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 0.0 0.0 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +XXX012 F POP2 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -90.0 -180.0 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a 90.0 180.0 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/jannocoalesce/target3.janno b/test/PoseidonGoldenTests/GoldenTestData/jannocoalesce/target3.janno index 119727a3d..3b3b67135 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/jannocoalesce/target3.janno +++ b/test/PoseidonGoldenTests/GoldenTestData/jannocoalesce/target3.janno @@ -1,4 +1,4 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AdditionalColumn1 AdditionalColumn2 -XXX011 M POP1 Paul;Peter XXX012;I1234 first;second father_of;grandfather_of yyy n/a xxx DE xxx xxx n/a n/a C14 A-1;A-2;A-3 3000;3100;2900 30;40;20 -1200 -1000 -800 x x x A C xxx;yyy 2 Lib1;Lib2 Shotgun;1240K minus ds diploid ftp://test.test 0.0 1 0.0 0.0 10 1 ANGSD v.123 n/a Ich;mag;Kekse Ich unpublished This is a fine sample Hutschnur test1 test2 -XXX012 F POP2 n/a XXX011 first daughter_of n/a n/a xxx FR xxx xxx n/a n/a contextual n/a n/a n/a -5500 -5000 -4500 yyy B B xxx 1 Lib3 1240K half ss haploid https://www.google.de 0.0 1 0.0 100.0 20;50;70 2;5;7.4 Schmutzi v145;Zwiebel;other xxx aus Du PaulNature2026 Cheesecake n/a test3 test4 -XXX013 M POP1 Skeleton Joe XXX011 sixthToTenth n/a xxx n/a xxx EG xxx xxx n/a n/a modern n/a n/a n/a 2000 2000 2000 n/a C A xxx 1 n/a ReferenceGenome plus mixed diploid http://huhu.org/23&test 0.0 1 0.0 50.0 n/a n/a n/a n/a der Dose Müllers Kuh BovineCell1618 n/a A;B;C test5 test6 +Poseidon_ID Genetic_Sex Group_Name Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AdditionalColumn1 AdditionalColumn2 Source_Tissue +XXX011 M POP1 n/a n/a Paul;Peter n/a XXX012;I1234 first;second father_of;grandfather_of yyy n/a n/a Danish Bronze Age;Pre-Pottery Neolithic A https://chronontology.dainst.org/period/Gx4uxaeTCbbg;https://n2t.net/ark:/99152/p0zj6g8ks9s n/a n/a xxx DE xxx xxx n/a n/a C14 A-1;A-2;A-3 3000;3100;2900 30;40;20 -1200 -1000 -800 x x x n/a A C petrous;other 2 Lib1;Lib2 Shotgun;1240K minus ds diploid ftp://test.test 0.1 1 0.0 0.0 10 1 ANGSD v.123 n/a Ich;mag;Kekse Ich unpublished This is a fine sample Hutschnur test1 test2 xxx;yyy +XXX012 F POP2 n/a n/a n/a n/a XXX011 first daughter_of n/a n/a n/a n/a n/a Hallstatt culture (Hungary) https://n2t.net/ark:/99152/p0nxc78fxgt xxx FR xxx xxx n/a n/a contextual n/a n/a n/a -5500 -5000 -4500 yyy n/a B B soft 1 Lib3 1240K half ss haploid https://www.google.de 0.3 1 0.0 1.0;0.1 20;50;70 2;5;7.4 Schmutzi v145;Zwiebel;other xxx aus Du PaulNature2026 Cheesecake n/a test3 test4 xxx +XXX013 M POP1 n/a n/a Skeleton Joe n/a XXX011 sixthToTenth n/a xxx n/a n/a n/a n/a n/a n/a xxx EG xxx xxx n/a n/a modern n/a n/a n/a 2000 2000 2000 n/a n/a C A hair 1 n/a ArborPrimePlus plus mixed diploid http://huhu.org/23&test 0.4 1 0.0 0.5 n/a n/a n/a n/a der Dose Müllers Kuh BovineCell1618 n/a A;B;C test5 test6 xxx diff --git a/test/PoseidonGoldenTests/GoldenTestData/list/list6 b/test/PoseidonGoldenTests/GoldenTestData/list/list6 index b38f46bc9..a66a74f67 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/list/list6 +++ b/test/PoseidonGoldenTests/GoldenTestData/list/list6 @@ -1,14 +1,14 @@ -.------------.-------.----------------.----------------.-----------.-------------.-----------------.-------------.-----------------.---------------.---------------.---------------.---------.-------------.----------.------.----------.-----------.-----------.----------------.-------------------.-----------------------.------------------.-------------------.-----------------.-----------.---------------.--------------.---------------.--------------.---------------.--------------.-----.---------------.-----------------.-------------------------------.------------.---------.-------------------------.--------.---------------.-------------------.--------------------.--------------------.------------------------------.-----------------.------------------------------------.------.----------. -| Individual | Group | Package | PackageVersion | Is Latest | Genetic_Sex | Alternative_IDs | Relation_To | Relation_Degree | Relation_Type | Relation_Note | Collection_ID | Country | Country_ISO | Location | Site | Latitude | Longitude | Date_Type | Date_C14_Labnr | Date_C14_Uncal_BP | Date_C14_Uncal_BP_Err | Date_BC_AD_Start | Date_BC_AD_Median | Date_BC_AD_Stop | Date_Note | MT_Haplogroup | Y_Haplogroup | Source_Tissue | Nr_Libraries | Library_Names | Capture_Type | UDG | Library_Built | Genotype_Ploidy | Data_Preparation_Pipeline_URL | Endogenous | Nr_SNPs | Coverage_on_Target_SNPs | Damage | Contamination | Contamination_Err | Contamination_Meas | Contamination_Note | Genetic_Source_Accession_IDs | Primary_Contact | Publication | Note | Keywords | -:============:=======:================:================:===========:=============:=================:=============:=================:===============:===============:===============:=========:=============:==========:======:==========:===========:===========:================:===================:=======================:==================:===================:=================:===========:===============:==============:===============:==============:===============:==============:=====:===============:=================:===============================:============:=========:=========================:========:===============:===================:====================:====================:==============================:=================:====================================:======:==========: -| XXX001 | POP1 | Schiffels_2016 | 1.0.1 | True | M | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016 | n/a | n/a | -| XXX002 | POP2 | Schiffels_2016 | 1.0.1 | True | F | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016 | n/a | n/a | -| XXX003 | POP1 | Schiffels_2016 | 1.0.1 | True | M | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016 | n/a | n/a | -| XXX004 | POP2 | Schiffels_2016 | 1.0.1 | True | F | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016 | n/a | n/a | -| XXX005 | POP2 | Schiffels_2016 | 1.0.1 | True | M | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016;TestPaper1 | n/a | n/a | -| XXX006 | POP2 | Schiffels_2016 | 1.0.1 | True | F | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016;TestPaper1 | n/a | n/a | -| XXX007 | POP1 | Schiffels_2016 | 1.0.1 | True | M | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016;TestBook1 | n/a | n/a | -| XXX008 | POP3 | Schiffels_2016 | 1.0.1 | True | F | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016;TestBook1 | n/a | n/a | -| XXX009 | POP1 | Schiffels_2016 | 1.0.1 | True | F | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016;TestPaper1;TestBook1 | n/a | n/a | -| XXX010 | POP3 | Schiffels_2016 | 1.0.1 | True | M | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016;TestPaper1;TestBook1 | n/a | n/a | -'------------'-------'----------------'----------------'-----------'-------------'-----------------'-------------'-----------------'---------------'---------------'---------------'---------'-------------'----------'------'----------'-----------'-----------'----------------'-------------------'-----------------------'------------------'-------------------'-----------------'-----------'---------------'--------------'---------------'--------------'---------------'--------------'-----'---------------'-----------------'-------------------------------'------------'---------'-------------------------'--------'---------------'-------------------'--------------------'--------------------'------------------------------'-----------------'------------------------------------'------'----------' +.------------.-------.----------------.----------------.-----------.-------------.---------------.---------.-----------------.-------------------------.-------------.-----------------.---------------.---------------.-----------------------.--------------.------------------.------------------------.----------------------------.---------.-------------.----------.------.----------.-----------.-----------.----------------.-------------------.-----------------------.------------------.-------------------.-----------------.-----------------------.---------------.--------------.-----------------.--------------.---------------.--------------.-----.---------------.-----------------.-------------------------------.------------.---------.-------------------------.--------.---------------.-------------------.--------------------.------------------------------.-----------------.------------------------------------.------.----------. +| Individual | Group | Package | PackageVersion | Is Latest | Genetic_Sex | Individual_ID | Species | Alternative_IDs | Alternative_IDs_Context | Relation_To | Relation_Degree | Relation_Type | Collection_ID | Custodian_Institution | Cultural_Era | Cultural_Era_URL | Archaeological_Culture | Archaeological_Culture_URL | Country | Country_ISO | Location | Site | Latitude | Longitude | Date_Type | Date_C14_Labnr | Date_C14_Uncal_BP | Date_C14_Uncal_BP_Err | Date_BC_AD_Start | Date_BC_AD_Median | Date_BC_AD_Stop | Chromosomal_Anomalies | MT_Haplogroup | Y_Haplogroup | Source_Material | Nr_Libraries | Library_Names | Capture_Type | UDG | Library_Built | Genotype_Ploidy | Data_Preparation_Pipeline_URL | Endogenous | Nr_SNPs | Coverage_on_Target_SNPs | Damage | Contamination | Contamination_Err | Contamination_Meas | Genetic_Source_Accession_IDs | Primary_Contact | Publication | Note | Keywords | +:============:=======:================:================:===========:=============:===============:=========:=================:=========================:=============:=================:===============:===============:=======================:==============:==================:========================:============================:=========:=============:==========:======:==========:===========:===========:================:===================:=======================:==================:===================:=================:=======================:===============:==============:=================:==============:===============:==============:=====:===============:=================:===============================:============:=========:=========================:========:===============:===================:====================:==============================:=================:====================================:======:==========: +| XXX001 | POP1 | Schiffels_2016 | 1.0.1 | True | M | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016 | n/a | n/a | +| XXX002 | POP2 | Schiffels_2016 | 1.0.1 | True | F | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016 | n/a | n/a | +| XXX003 | POP1 | Schiffels_2016 | 1.0.1 | True | M | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016 | n/a | n/a | +| XXX004 | POP2 | Schiffels_2016 | 1.0.1 | True | F | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016 | n/a | n/a | +| XXX005 | POP2 | Schiffels_2016 | 1.0.1 | True | M | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016;TestPaper1 | n/a | n/a | +| XXX006 | POP2 | Schiffels_2016 | 1.0.1 | True | F | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016;TestPaper1 | n/a | n/a | +| XXX007 | POP1 | Schiffels_2016 | 1.0.1 | True | M | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016;TestBook1 | n/a | n/a | +| XXX008 | POP3 | Schiffels_2016 | 1.0.1 | True | F | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016;TestBook1 | n/a | n/a | +| XXX009 | POP1 | Schiffels_2016 | 1.0.1 | True | F | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016;TestPaper1;TestBook1 | n/a | n/a | +| XXX010 | POP3 | Schiffels_2016 | 1.0.1 | True | M | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | Schiffels2016;TestPaper1;TestBook1 | n/a | n/a | +'------------'-------'----------------'----------------'-----------'-------------'---------------'---------'-----------------'-------------------------'-------------'-----------------'---------------'---------------'-----------------------'--------------'------------------'------------------------'----------------------------'---------'-------------'----------'------'----------'-----------'-----------'----------------'-------------------'-----------------------'------------------'-------------------'-----------------'-----------------------'---------------'--------------'-----------------'--------------'---------------'--------------'-----'---------------'-----------------'-------------------------------'------------'---------'-------------------------'--------'---------------'-------------------'--------------------'------------------------------'-----------------'------------------------------------'------'----------' diff --git a/test/PoseidonGoldenTests/GoldenTestData/listRemote/listRemote5 b/test/PoseidonGoldenTests/GoldenTestData/listRemote/listRemote5 index 4a53c1a21..37471d2d8 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/listRemote/listRemote5 +++ b/test/PoseidonGoldenTests/GoldenTestData/listRemote/listRemote5 @@ -1,26 +1,26 @@ -Individual Group Package PackageVersion Is Latest Genetic_Sex Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords -XXX011 POP1 Lamnidis_2018 1.0.0 False M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX012 POP2 Lamnidis_2018 1.0.0 False F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX013 POP1 Lamnidis_2018 1.0.0 False M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX014 POP2 Lamnidis_2018 1.0.0 False F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX015 POP2 Lamnidis_2018 1.0.0 False M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX016 POP2 Lamnidis_2018 1.0.0 False F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX017 POP1 Lamnidis_2018 1.0.0 False M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX018 POP3 Lamnidis_2018 1.0.0 False F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX019 POP1 Lamnidis_2018 1.0.0 False F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX099 POP3 Lamnidis_2018 1.0.0 False M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX011 POP1 Lamnidis_2018 1.0.1 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX012 POP2 Lamnidis_2018 1.0.1 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX013 POP1 Lamnidis_2018 1.0.1 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX014 POP2 Lamnidis_2018 1.0.1 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX015 POP2 Lamnidis_2018 1.0.1 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX016 POP2 Lamnidis_2018 1.0.1 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX017 POP1 Lamnidis_2018 1.0.1 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX018 POP3 Lamnidis_2018 1.0.1 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX019 POP1 Lamnidis_2018 1.0.1 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -XXX020 POP3 Lamnidis_2018 1.0.1 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a -SAMPLE0 1 Wang_2020 0.1.0 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -SAMPLE1 2 Wang_2020 0.1.0 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a TestPaper1 n/a n/a -SAMPLE2 3 Wang_2020 0.1.0 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1 n/a n/a -SAMPLE3 4 Wang_2020 0.1.0 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestBook2 n/a n/a -SAMPLE4 5 Wang_2020 0.1.0 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1;TestBook2 n/a n/a +Individual Group Package PackageVersion Is Latest Genetic_Sex Individual_ID Species Alternative_IDs Alternative_IDs_Context Relation_To Relation_Degree Relation_Type Collection_ID Custodian_Institution Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Chromosomal_Anomalies MT_Haplogroup Y_Haplogroup Source_Material Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords +XXX011 POP1 Lamnidis_2018 1.0.0 False M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX012 POP2 Lamnidis_2018 1.0.0 False F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX013 POP1 Lamnidis_2018 1.0.0 False M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX014 POP2 Lamnidis_2018 1.0.0 False F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX015 POP2 Lamnidis_2018 1.0.0 False M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX016 POP2 Lamnidis_2018 1.0.0 False F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX017 POP1 Lamnidis_2018 1.0.0 False M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX018 POP3 Lamnidis_2018 1.0.0 False F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX019 POP1 Lamnidis_2018 1.0.0 False F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX099 POP3 Lamnidis_2018 1.0.0 False M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX011 POP1 Lamnidis_2018 1.0.1 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX012 POP2 Lamnidis_2018 1.0.1 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX013 POP1 Lamnidis_2018 1.0.1 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX014 POP2 Lamnidis_2018 1.0.1 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX015 POP2 Lamnidis_2018 1.0.1 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX016 POP2 Lamnidis_2018 1.0.1 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX017 POP1 Lamnidis_2018 1.0.1 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX018 POP3 Lamnidis_2018 1.0.1 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX019 POP1 Lamnidis_2018 1.0.1 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +XXX020 POP3 Lamnidis_2018 1.0.1 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Lamnidis2018 n/a n/a +SAMPLE0 1 Wang_2020 0.1.0 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a +SAMPLE1 2 Wang_2020 0.1.0 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a TestPaper1 n/a n/a +SAMPLE2 3 Wang_2020 0.1.0 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1 n/a n/a +SAMPLE3 4 Wang_2020 0.1.0 True M n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestBook2 n/a n/a +SAMPLE4 5 Wang_2020 0.1.0 True F n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Wang2020;TestPaper1;TestBook2 n/a n/a diff --git a/test/PoseidonGoldenTests/GoldenTestData/survey/survey1 b/test/PoseidonGoldenTests/GoldenTestData/survey/survey1 index 8da84ea0d..7e97a5b09 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/survey/survey1 +++ b/test/PoseidonGoldenTests/GoldenTestData/survey/survey1 @@ -1,9 +1,9 @@ -.------------------------.-------------------------------------------------------------. -| Package | Survey | -:========================:=============================================================: -| *Lamnidis_2018-1.0.0* | G.B|███..|.....|.....|.....|.....|.....|.....|.....|...█.|. | -| *Lamnidis_2018-1.0.1* | G.B|███..|.....|.....|.....|.....|.....|.....|.....|...█.|. | -| *Schiffels_2016-1.0.1* | GSB|███..|.....|.....|.....|.....|.....|.....|.....|...█.|. | -| *Schmid_2028-1.0.0* | G..|███..|.....|.....|.....|.....|.....|.....|.....|.....|. | -| *Wang_2020-0.1.0* | GSB|███..|.....|.....|.....|.....|.....|.....|.....|...▓.|. | -'------------------------'-------------------------------------------------------------' +.------------------------.--------------------------------------------------------------. +| Package | Survey | +:========================:==============================================================: +| *Lamnidis_2018-1.0.0* | G.B|███..|.....|.....|.....|.....|.....|.....|.....|.....|.… | +| *Lamnidis_2018-1.0.1* | G.B|███..|.....|.....|.....|.....|.....|.....|.....|.....|.… | +| *Schiffels_2016-1.0.1* | GSB|███..|.....|.....|.....|.....|.....|.....|.....|.....|.… | +| *Schmid_2028-1.0.0* | G..|███..|.....|.....|.....|.....|.....|.....|.....|.....|.… | +| *Wang_2020-0.1.0* | GSB|███..|.....|.....|.....|.....|.....|.....|.....|.....|.… | +'------------------------'--------------------------------------------------------------' diff --git a/test/PoseidonGoldenTests/GoldenTestData/survey/survey2 b/test/PoseidonGoldenTests/GoldenTestData/survey/survey2 index 1ea9aabd1..875e586d5 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/survey/survey2 +++ b/test/PoseidonGoldenTests/GoldenTestData/survey/survey2 @@ -1,5 +1,5 @@ -*Lamnidis_2018-1.0.0* G.B|███..|.....|.....|.....|.....|.....|.....|.....|...█.|. -*Lamnidis_2018-1.0.1* G.B|███..|.....|.....|.....|.....|.....|.....|.....|...█.|. -*Schiffels_2016-1.0.1* GSB|███..|.....|.....|.....|.....|.....|.....|.....|...█.|. -*Schmid_2028-1.0.0* G..|███..|.....|.....|.....|.....|.....|.....|.....|.....|. -*Wang_2020-0.1.0* GSB|███..|.....|.....|.....|.....|.....|.....|.....|...▓.|. +*Lamnidis_2018-1.0.0* G.B|███..|.....|.....|.....|.....|.....|.....|.....|.....|....█|.. +*Lamnidis_2018-1.0.1* G.B|███..|.....|.....|.....|.....|.....|.....|.....|.....|....█|.. +*Schiffels_2016-1.0.1* GSB|███..|.....|.....|.....|.....|.....|.....|.....|.....|....█|.. +*Schmid_2028-1.0.0* G..|███..|.....|.....|.....|.....|.....|.....|.....|.....|.....|.. +*Wang_2020-0.1.0* GSB|███..|.....|.....|.....|.....|.....|.....|.....|.....|....▓|.. diff --git a/test/PoseidonGoldenTests/GoldenTestData/survey/survey3 b/test/PoseidonGoldenTests/GoldenTestData/survey/survey3 index 4013267a7..1acdfdc95 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/survey/survey3 +++ b/test/PoseidonGoldenTests/GoldenTestData/survey/survey3 @@ -1,8 +1,8 @@ -.------------------------.-------------------------------------------------------------. -| Package | Survey | -:========================:=============================================================: -| *Lamnidis_2018-1.0.1* | G.B|███..|.....|.....|.....|.....|.....|.....|.....|...█.|. | -| *Schiffels_2016-1.0.1* | GSB|███..|.....|.....|.....|.....|.....|.....|.....|...█.|. | -| *Schmid_2028-1.0.0* | G..|███..|.....|.....|.....|.....|.....|.....|.....|.....|. | -| *Wang_2020-0.1.0* | GSB|███..|.....|.....|.....|.....|.....|.....|.....|...▓.|. | -'------------------------'-------------------------------------------------------------' +.------------------------.--------------------------------------------------------------. +| Package | Survey | +:========================:==============================================================: +| *Lamnidis_2018-1.0.1* | G.B|███..|.....|.....|.....|.....|.....|.....|.....|.....|.… | +| *Schiffels_2016-1.0.1* | GSB|███..|.....|.....|.....|.....|.....|.....|.....|.....|.… | +| *Schmid_2028-1.0.0* | G..|███..|.....|.....|.....|.....|.....|.....|.....|.....|.… | +| *Wang_2020-0.1.0* | GSB|███..|.....|.....|.....|.....|.....|.....|.....|.....|.… | +'------------------------'--------------------------------------------------------------' diff --git a/test/PoseidonGoldenTests/GoldenTestData/validate/validate1 b/test/PoseidonGoldenTests/GoldenTestData/validate/validate1 index 0a348588a..783f8ae37 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/validate/validate1 +++ b/test/PoseidonGoldenTests/GoldenTestData/validate/validate1 @@ -5,4 +5,5 @@ Searching POSEIDON.yml files... Checking Poseidon versions... Initializing packages... Packages loaded: 5 +For packages below Poseidon v3.0.0 (poseidonVersion) values in the .janno columns Endogenous and Damage were rescaled from percent (0-100) to fractions (0-1). Validation passed diff --git a/test/PoseidonGoldenTests/GoldenTestData/validate/validate10 b/test/PoseidonGoldenTests/GoldenTestData/validate/validate10 index 0c18f050e..0bdca0770 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/validate/validate10 +++ b/test/PoseidonGoldenTests/GoldenTestData/validate/validate10 @@ -5,4 +5,5 @@ Searching POSEIDON.yml files... Checking Poseidon versions... Initializing packages... Packages loaded: 1 +For packages below Poseidon v3.0.0 (poseidonVersion) values in the .janno columns Endogenous and Damage were rescaled from percent (0-100) to fractions (0-1). Validation passed diff --git a/test/PoseidonGoldenTests/GoldenTestData/validate/validate2 b/test/PoseidonGoldenTests/GoldenTestData/validate/validate2 index 0a348588a..783f8ae37 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/validate/validate2 +++ b/test/PoseidonGoldenTests/GoldenTestData/validate/validate2 @@ -5,4 +5,5 @@ Searching POSEIDON.yml files... Checking Poseidon versions... Initializing packages... Packages loaded: 5 +For packages below Poseidon v3.0.0 (poseidonVersion) values in the .janno columns Endogenous and Damage were rescaled from percent (0-100) to fractions (0-1). Validation passed diff --git a/test/PoseidonGoldenTests/GoldenTestData/validate/validate3 b/test/PoseidonGoldenTests/GoldenTestData/validate/validate3 index b962f9945..ba93838ab 100644 --- a/test/PoseidonGoldenTests/GoldenTestData/validate/validate3 +++ b/test/PoseidonGoldenTests/GoldenTestData/validate/validate3 @@ -7,4 +7,5 @@ Initializing packages... Trying to parse genotype data for package: Lamnidis_2018 SNPs: 0 0s Packages loaded: 1 +For packages below Poseidon v3.0.0 (poseidonVersion) values in the .janno columns Endogenous and Damage were rescaled from percent (0-100) to fractions (0-1). Validation passed diff --git a/test/PoseidonGoldenTests/GoldenTestsRunCommands.hs b/test/PoseidonGoldenTests/GoldenTestsRunCommands.hs index 311bb75ed..bbe0a073f 100644 --- a/test/PoseidonGoldenTests/GoldenTestsRunCommands.hs +++ b/test/PoseidonGoldenTests/GoldenTestsRunCommands.hs @@ -1416,8 +1416,8 @@ testPipelineJannocoalesce :: FilePath -> FilePath -> IO () testPipelineJannocoalesce testDir checkFilePath = do -- simple coalesce let jannocoalesceOpts1 = JannoCoalesceOptions { - _jannocoalesceSource = JannoSourceSingle "test/testDat/testJannoFiles/normal_full.janno", - _jannocoalesceTarget = "test/testDat/testJannoFiles/minimal_full.janno", + _jannocoalesceSource = JannoSourceSingle "test/testDat/testJannoFiles/normal.janno", + _jannocoalesceTarget = "test/testDat/testJannoFiles/minimal.janno", _jannocoalesceOutSpec = Just (testDir "jannocoalesce" "target1.janno"), _jannocoalesceJannoColumns = AllJannoColumns, _jannocoalesceOverwriteColumns = False, @@ -1430,8 +1430,8 @@ testPipelineJannocoalesce testDir checkFilePath = do ] -- only coalesce certain columns (--includeColumns) let jannocoalesceOpts2 = JannoCoalesceOptions { - _jannocoalesceSource = JannoSourceSingle "test/testDat/testJannoFiles/normal_full.janno", - _jannocoalesceTarget = "test/testDat/testJannoFiles/minimal_full.janno", + _jannocoalesceSource = JannoSourceSingle "test/testDat/testJannoFiles/normal.janno", + _jannocoalesceTarget = "test/testDat/testJannoFiles/minimal.janno", _jannocoalesceOutSpec = Just (testDir "jannocoalesce" "target2.janno"), _jannocoalesceJannoColumns = IncludeJannoColumns ["Latitude", "Longitude"], _jannocoalesceOverwriteColumns = False, @@ -1444,8 +1444,8 @@ testPipelineJannocoalesce testDir checkFilePath = do ] -- do not coalesce certain columns (--excludeColumns) let jannocoalesceOpts3 = JannoCoalesceOptions { - _jannocoalesceSource = JannoSourceSingle "test/testDat/testJannoFiles/normal_full.janno", - _jannocoalesceTarget = "test/testDat/testJannoFiles/minimal_full.janno", + _jannocoalesceSource = JannoSourceSingle "test/testDat/testJannoFiles/normal.janno", + _jannocoalesceTarget = "test/testDat/testJannoFiles/minimal.janno", _jannocoalesceOutSpec = Just (testDir "jannocoalesce" "target3.janno"), _jannocoalesceJannoColumns = ExcludeJannoColumns ["Latitude", "Longitude"], _jannocoalesceOverwriteColumns = False, diff --git a/test/testDat/testJannoFiles/borked_full.janno b/test/testDat/testJannoFiles/borked.janno similarity index 100% rename from test/testDat/testJannoFiles/borked_full.janno rename to test/testDat/testJannoFiles/borked.janno diff --git a/test/testDat/testJannoFiles/borked_partial.janno b/test/testDat/testJannoFiles/borked_partial.janno deleted file mode 100755 index 4c62598d5..000000000 --- a/test/testDat/testJannoFiles/borked_partial.janno +++ /dev/null @@ -1,24 +0,0 @@ -Poseidon_ID Latitude Group_Name Genetic_Sex -XXX016 n/a POP1 M -XXX017 1000 POP5 M -XXX018 n/a POP6 M -XXX019 n/a POP7 M -XXX022 n/a POP10 M -XXX023 n/a POP11 M -XXX024 n/a POP12 M -XXX025 n/a POP13 M -XXX026 n/a POP14 M -XXX027 n/a POP15 M -XXX028 n/a POP16 M -XXX029 n/a POP17 M -XXX030 n/a POP18 M -XXX031 n/a POP19 M -XXX032 n/a POP20 M -XXX035 n/a POP23 M -XXX036 n/a POP24 M -XXX037 n/a POP25 M -XXX038 n/a POP26 M -XXX039 n/a POP27 M -XXX040 n/a POP28 M -XXX041 n/a POP29 M -XXX042 n/a POP30 M diff --git a/test/testDat/testJannoFiles/minimal.janno b/test/testDat/testJannoFiles/minimal.janno new file mode 100755 index 000000000..82b9d8bff --- /dev/null +++ b/test/testDat/testJannoFiles/minimal.janno @@ -0,0 +1,4 @@ +Poseidon_ID Genetic_Sex Group_Name +XXX011 M POP1 +XXX012 F POP2 +XXX013 M POP1 diff --git a/test/testDat/testJannoFiles/minimal_full.janno b/test/testDat/testJannoFiles/minimal_full.janno deleted file mode 100755 index 8f4e6ee79..000000000 --- a/test/testDat/testJannoFiles/minimal_full.janno +++ /dev/null @@ -1,4 +0,0 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Median Date_BC_AD_Start Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords -XXX011 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a -XXX012 F POP2 -XXX013 M POP1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a diff --git a/test/testDat/testJannoFiles/minimal_partial.janno b/test/testDat/testJannoFiles/minimal_partial.janno deleted file mode 100755 index 5568bd17a..000000000 --- a/test/testDat/testJannoFiles/minimal_partial.janno +++ /dev/null @@ -1,4 +0,0 @@ -Poseidon_ID Group_Name Genetic_Sex -XXX011 POP1 M -XXX012 POP2 F -XXX013 POP1 M diff --git a/test/testDat/testJannoFiles/normal.janno b/test/testDat/testJannoFiles/normal.janno new file mode 100755 index 000000000..b3681a429 --- /dev/null +++ b/test/testDat/testJannoFiles/normal.janno @@ -0,0 +1,4 @@ +AdditionalColumn1 AdditionalColumn2 Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Cultural_Era Cultural_Era_URL Archaeological_Culture Archaeological_Culture_URL Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Material Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords +test1 test2 XXX011 M POP1;POP3 Paul;Peter XXX012;I1234 first;second father_of;grandfather_of yyy Danish Bronze Age;Pre-Pottery Neolithic A https://chronontology.dainst.org/period/Gx4uxaeTCbbg;https://n2t.net/ark:/99152/p0zj6g8ks9s xxx DE xxx xxx 0 0 C14 A-1;A-2;A-3 3000;3100;2900 30;40;20 -1200 -1000 -800 x x x A C petrous;other xxx;yyy 2 Lib1;Lib2 Shotgun;1240K minus ds diploid ftp://test.test 0.1 1 0 0 10 1 ANGSD v.123 Ich;mag;Kekse Ich unpublished This is a fine sample Hutschnur +test3 test4 XXX012 F POP2 XXX011 first daughter_of n/a Hallstatt culture (Hungary) https://n2t.net/ark:/99152/p0nxc78fxgt xxx FR xxx xxx -90 -180 contextual n/a n/a n/a -5500 -5000 -4500 yyy B B soft xxx 1 Lib3 1240K half ss haploid https://www.google.de 0.3 1 0 1;0.1 20;50;70 2;5;7.4 Schmutzi v145;Zwiebel;other xxx aus Du PaulNature2026 Cheesecake n/a +test5 test6 XXX013 M POP1 Skeleton Joe XXX011 sixthToTenth xxx xxx EG xxx xxx 90 180 modern n/a n/a n/a 2000 2000 2000 n/a C A hair xxx 1 ArborPrimePlus plus mixed diploid http://huhu.org/23&test 0.4 1 0 0.5 n/a n/a n/a n/a der Dose Müllers Kuh BovineCell1618 n/a A;B;C diff --git a/test/testDat/testJannoFiles/normal_full.janno b/test/testDat/testJannoFiles/normal_full.janno deleted file mode 100755 index 2d184e697..000000000 --- a/test/testDat/testJannoFiles/normal_full.janno +++ /dev/null @@ -1,4 +0,0 @@ -AdditionalColumn1 AdditionalColumn2 Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Collection_ID Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords -test1 test2 XXX011 M POP1;POP3 Paul;Peter XXX012;I1234 first;second father_of;grandfather_of yyy xxx DE xxx xxx 0 0 C14 A-1;A-2;A-3 3000;3100;2900 30;40;20 -1200 -1000 -800 x x x A C xxx;yyy 2 Lib1;Lib2 Shotgun;1240K minus ds diploid ftp://test.test 0 1 0 0 10 1 ANGSD v.123 Ich;mag;Kekse Ich unpublished This is a fine sample Hutschnur -test3 test4 XXX012 F POP2 XXX011 first daughter_of n/a xxx FR xxx xxx -90 -180 contextual n/a n/a n/a -5500 -5000 -4500 yyy B B xxx 1 Lib3 1240K half ss haploid https://www.google.de 0 1 0 100 20;50;70 2;5;7.4 Schmutzi v145;Zwiebel;other xxx aus Du PaulNature2026 Cheesecake n/a -test5 test6 XXX013 M POP1 Skeleton Joe XXX011 sixthToTenth xxx xxx EG xxx xxx 90 180 modern n/a n/a n/a 2000 2000 2000 n/a C A xxx 1 ReferenceGenome plus mixed diploid http://huhu.org/23&test 0 1 0 50 n/a n/a n/a n/a der Dose Müllers Kuh BovineCell1618 n/a A;B;C diff --git a/test/testDat/testJannoFiles/normal_partial.janno b/test/testDat/testJannoFiles/normal_partial.janno deleted file mode 100755 index ef032d8c0..000000000 --- a/test/testDat/testJannoFiles/normal_partial.janno +++ /dev/null @@ -1,4 +0,0 @@ -Poseidon_ID Genetic_Sex Group_Name Alternative_IDs Relation_To Relation_Degree Relation_Type Relation_Note Country Country_ISO Location Site Latitude Longitude Date_Type Date_C14_Labnr Date_C14_Uncal_BP Date_C14_Uncal_BP_Err Date_BC_AD_Start Date_BC_AD_Median Date_BC_AD_Stop Date_Note MT_Haplogroup Y_Haplogroup Source_Tissue Nr_Libraries Library_Names Capture_Type UDG Library_Built Genotype_Ploidy Data_Preparation_Pipeline_URL Endogenous Nr_SNPs Coverage_on_Target_SNPs Damage Contamination Contamination_Err Contamination_Meas Contamination_Note Genetic_Source_Accession_IDs Primary_Contact Publication Note Keywords AdditionalColumn2 AdditionalColumn1 -XXX011 M POP1;POP3 Paul;Peter XXX012;I1234 first;second father_of;grandfather_of yyy xxx DE xxx xxx 0 0 C14 A-1;A-2;A-3 3000;3100;2900 30;40;20 -1200 -1000 -800 x x x A C xxx;yyy 2 Lib1;Lib2 Shotgun;1240K minus ds diploid ftp://test.test 0 1 0 0 10 1 ANGSD v.123 Ich;mag;Kekse Ich unpublished This is a fine sample Hutschnur test2 test1 -XXX012 F POP2 XXX011 first daughter_of n/a xxx FR xxx xxx -90 -180 contextual n/a n/a n/a -5500 -5000 -4500 yyy B B xxx 1 Lib3 1240K half ss haploid https://www.google.de 0 1 0 100 20;50;70 2;5;7.4 Schmutzi v145;Zwiebel;other xxx aus Du PaulNature2026 Cheesecake n/a test4 test3 -XXX013 M POP1 Skeleton Joe XXX011 sixthToTenth xxx xxx EG xxx xxx 90 180 modern n/a n/a n/a 2000 2000 2000 n/a C A xxx 1 ReferenceGenome plus mixed diploid http://huhu.org/23&test 0 1 0 50 n/a n/a n/a n/a der Dose Müllers Kuh BovineCell1618 n/a A;B;C test6 test5 diff --git a/test/testDat/testJannoFiles/specificallyBorked/borked_alternative_ids_context.janno b/test/testDat/testJannoFiles/specificallyBorked/borked_alternative_ids_context.janno new file mode 100755 index 000000000..e68abf338 --- /dev/null +++ b/test/testDat/testJannoFiles/specificallyBorked/borked_alternative_ids_context.janno @@ -0,0 +1,2 @@ +Poseidon_ID Group_Name Genetic_Sex Alternative_IDs Alternative_IDs_Context +XXX045 POP1 M 13324;MacMan AADRv123;popular;AADRv51 diff --git a/test/testDat/testJannoFiles/specificallyBorked/borked_arch_cultural_url.janno b/test/testDat/testJannoFiles/specificallyBorked/borked_arch_cultural_url.janno new file mode 100755 index 000000000..3c6d347ed --- /dev/null +++ b/test/testDat/testJannoFiles/specificallyBorked/borked_arch_cultural_url.janno @@ -0,0 +1,2 @@ +Poseidon_ID Group_Name Genetic_Sex Archaeological_Culture_URL +XXX012 POP2 F https://n2t.net/ark:/99152/p0zj6g8ks9s;https://n2t.net/ark:/99152/p0zj6g8ks9s diff --git a/test/testDat/testJannoFiles/specificallyBorked/borked_cultural_era.janno b/test/testDat/testJannoFiles/specificallyBorked/borked_cultural_era.janno new file mode 100755 index 000000000..29f8cbf3c --- /dev/null +++ b/test/testDat/testJannoFiles/specificallyBorked/borked_cultural_era.janno @@ -0,0 +1,2 @@ +Poseidon_ID Group_Name Genetic_Sex Cultural_Era Cultural_Era_URL +XXX012 POP2 F Test https://n2t.net/ark:/99152/p0zj6g8ks9s;https://n2t.net/ark:/99152/p0zj6g8ks9s