Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data JannoRow = JannoRow {
- jPoseidonID :: String
- jGeneticSex :: JannoSex
- jGroupName :: JannoStringList
- jAlternativeIDs :: Maybe JannoStringList
- jRelationTo :: Maybe JannoStringList
- jRelationDegree :: Maybe JannoRelationDegreeList
- jRelationType :: Maybe JannoStringList
- jRelationNote :: Maybe String
- jCollectionID :: Maybe String
- jCountry :: Maybe String
- jCountryISO :: Maybe JannoCountry
- jLocation :: Maybe String
- jSite :: Maybe String
- jLatitude :: Maybe Latitude
- jLongitude :: Maybe Longitude
- jDateType :: Maybe JannoDateType
- jDateC14Labnr :: Maybe JannoStringList
- jDateC14UncalBP :: Maybe JannoIntList
- jDateC14UncalBPErr :: Maybe JannoIntList
- jDateBCADStart :: Maybe BCADAge
- jDateBCADMedian :: Maybe BCADAge
- jDateBCADStop :: Maybe BCADAge
- jDateNote :: Maybe String
- jMTHaplogroup :: Maybe String
- jYHaplogroup :: Maybe String
- jSourceTissue :: Maybe JannoStringList
- jNrLibraries :: Maybe Int
- jLibraryNames :: Maybe JannoStringList
- jCaptureType :: Maybe (JannoList JannoCaptureType)
- jUDG :: Maybe JannoUDG
- jLibraryBuilt :: Maybe JannoLibraryBuilt
- jGenotypePloidy :: Maybe JannoGenotypePloidy
- jDataPreparationPipelineURL :: Maybe JURI
- jEndogenous :: Maybe Percent
- jNrSNPs :: Maybe Int
- jCoverageOnTargets :: Maybe Double
- jDamage :: Maybe Percent
- jContamination :: Maybe JannoStringList
- jContaminationErr :: Maybe JannoStringList
- jContaminationMeas :: Maybe JannoStringList
- jContaminationNote :: Maybe String
- jGeneticSourceAccessionIDs :: Maybe (JannoList AccessionID)
- jPrimaryContact :: Maybe String
- jPublication :: Maybe JannoStringList
- jComments :: Maybe String
- jKeywords :: Maybe JannoStringList
- jAdditionalColumns :: CsvNamedRecord
- newtype JannoSex = JannoSex {}
- newtype JannoList a = JannoList {
- getJannoList :: [a]
- data Sex
- newtype BCADAge = BCADAge Int
- newtype JannoCountry = JannoCountry Country
- makeJannoCountryUnsafe :: String -> JannoCountry
- newtype Latitude = Latitude Double
- newtype Longitude = Longitude Double
- data JannoDateType
- = C14
- | Contextual
- | Modern
- data JannoCaptureType
- data JannoGenotypePloidy
- newtype Percent = Percent Double
- data JannoUDG
- newtype JURI = JURI String
- data RelationDegree
- data JannoLibraryBuilt
- data AccessionID
- makeAccessionID :: MonadFail m => String -> m AccessionID
- makeLatitude :: MonadFail m => Double -> m Latitude
- makeLongitude :: MonadFail m => Double -> m Longitude
- writeJannoFile :: FilePath -> JannoRows -> IO ()
- readJannoFile :: FilePath -> PoseidonIO JannoRows
- createMinimalJanno :: [EigenstratIndEntry] -> JannoRows
- createMinimalSample :: EigenstratIndEntry -> JannoRow
- jannoHeaderString :: [String]
- newtype CsvNamedRecord = CsvNamedRecord NamedRecord
- newtype JannoRows = JannoRows [JannoRow]
- type JannoStringList = JannoList String
- filterLookup :: FromField a => NamedRecord -> ByteString -> Parser a
- filterLookupOptional :: FromField a => NamedRecord -> ByteString -> Parser (Maybe a)
- getCsvNR :: CsvNamedRecord -> NamedRecord
- encodingOptions :: EncodeOptions
- decodingOptions :: DecodeOptions
- explicitNA :: ByteString -> ByteString
- removeUselessSuffix :: String -> String
- parseCsvParseError :: Parser CsvParseError
- renderCsvParseError :: CsvParseError -> String
- getMaybeJannoList :: Maybe (JannoList a) -> [a]
Documentation
A data type to represent a sample/janno file row See https://github.com/poseidon-framework/poseidon2-schema/blob/master/janno_columns.tsv for more details
Instances
FromJSON JannoRow Source # | |
Defined in Poseidon.Janno parseJSON :: Value -> Parser JannoRow parseJSONList :: Value -> Parser [JannoRow] | |
ToJSON JannoRow Source # | |
Defined in Poseidon.Janno toEncoding :: JannoRow -> Encoding toJSONList :: [JannoRow] -> Value toEncodingList :: [JannoRow] -> Encoding | |
Generic JannoRow Source # | |
Show JannoRow Source # | |
DefaultOrdered JannoRow Source # | |
Defined in Poseidon.Janno headerOrder :: JannoRow -> Header | |
FromNamedRecord JannoRow Source # | |
Defined in Poseidon.Janno parseNamedRecord :: NamedRecord -> Parser JannoRow | |
ToNamedRecord JannoRow Source # | |
Defined in Poseidon.Janno toNamedRecord :: JannoRow -> NamedRecord | |
Generic JannoRow Source # | |
HasDatatypeInfo JannoRow Source # | |
Defined in Poseidon.Janno type DatatypeInfoOf JannoRow :: DatatypeInfo datatypeInfo :: proxy JannoRow -> DatatypeInfo (Code JannoRow) | |
Eq JannoRow Source # | |
type Rep JannoRow Source # | |
Defined in Poseidon.Janno | |
type Code JannoRow Source # | |
Defined in Poseidon.Janno type Code JannoRow | |
type DatatypeInfoOf JannoRow Source # | |
Defined in Poseidon.Janno type DatatypeInfoOf JannoRow = 'ADT "Poseidon.Janno" "JannoRow" '['Record "JannoRow" '['FieldInfo "jPoseidonID", 'FieldInfo "jGeneticSex", 'FieldInfo "jGroupName", 'FieldInfo "jAlternativeIDs", 'FieldInfo "jRelationTo", 'FieldInfo "jRelationDegree", 'FieldInfo "jRelationType", 'FieldInfo "jRelationNote", 'FieldInfo "jCollectionID", 'FieldInfo "jCountry", 'FieldInfo "jCountryISO", 'FieldInfo "jLocation", 'FieldInfo "jSite", 'FieldInfo "jLatitude", 'FieldInfo "jLongitude", 'FieldInfo "jDateType", 'FieldInfo "jDateC14Labnr", 'FieldInfo "jDateC14UncalBP", 'FieldInfo "jDateC14UncalBPErr", 'FieldInfo "jDateBCADStart", 'FieldInfo "jDateBCADMedian", 'FieldInfo "jDateBCADStop", 'FieldInfo "jDateNote", 'FieldInfo "jMTHaplogroup", 'FieldInfo "jYHaplogroup", 'FieldInfo "jSourceTissue", 'FieldInfo "jNrLibraries", 'FieldInfo "jLibraryNames", 'FieldInfo "jCaptureType", 'FieldInfo "jUDG", 'FieldInfo "jLibraryBuilt", 'FieldInfo "jGenotypePloidy", 'FieldInfo "jDataPreparationPipelineURL", 'FieldInfo "jEndogenous", 'FieldInfo "jNrSNPs", 'FieldInfo "jCoverageOnTargets", 'FieldInfo "jDamage", 'FieldInfo "jContamination", 'FieldInfo "jContaminationErr", 'FieldInfo "jContaminationMeas", 'FieldInfo "jContaminationNote", 'FieldInfo "jGeneticSourceAccessionIDs", 'FieldInfo "jPrimaryContact", 'FieldInfo "jPublication", 'FieldInfo "jComments", 'FieldInfo "jKeywords", 'FieldInfo "jAdditionalColumns"]] '['['StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy, 'StrictnessInfo 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy]] |
A datatype for genetic sex
Instances
FromJSON JannoSex Source # | |
Defined in Poseidon.Janno parseJSON :: Value -> Parser JannoSex parseJSONList :: Value -> Parser [JannoSex] | |
ToJSON JannoSex Source # | |
Defined in Poseidon.Janno toEncoding :: JannoSex -> Encoding toJSONList :: [JannoSex] -> Value toEncodingList :: [JannoSex] -> Encoding | |
Show JannoSex Source # | |
FromField JannoSex Source # | |
Defined in Poseidon.Janno parseField :: Field -> Parser JannoSex | |
ToField JannoSex Source # | |
Defined in Poseidon.Janno | |
Eq JannoSex Source # | |
Ord JannoSex Source # | |
Defined in Poseidon.Janno | |
PresenceCountable JannoSex Source # | |
Defined in Poseidon.CLI.Survey countPresence :: JannoSex -> Int Source # |
A general datatype for janno list columns
JannoList | |
|
Instances
PresenceCountable JannoStringList Source # | |
Defined in Poseidon.CLI.Survey countPresence :: JannoStringList -> Int Source # | |
FromJSON a => FromJSON (JannoList a) Source # | |
Defined in Poseidon.Janno parseJSON :: Value -> Parser (JannoList a) parseJSONList :: Value -> Parser [JannoList a] | |
ToJSON a => ToJSON (JannoList a) Source # | |
Defined in Poseidon.Janno toJSON :: JannoList a -> Value toEncoding :: JannoList a -> Encoding toJSONList :: [JannoList a] -> Value toEncodingList :: [JannoList a] -> Encoding | |
Generic (JannoList a) Source # | |
Show a => Show (JannoList a) Source # | |
FromField a => FromField (JannoList a) Source # | |
Defined in Poseidon.Janno parseField :: Field -> Parser (JannoList a) | |
(ToField a, Show a) => ToField (JannoList a) Source # | |
Defined in Poseidon.Janno | |
Eq a => Eq (JannoList a) Source # | |
Ord a => Ord (JannoList a) Source # | |
Defined in Poseidon.Janno | |
type Rep (JannoList a) Source # | |
Defined in Poseidon.Janno |
A datatype for BC-AD ages
Instances
FromJSON BCADAge Source # | |
Defined in Poseidon.Janno parseJSON :: Value -> Parser BCADAge parseJSONList :: Value -> Parser [BCADAge] | |
ToJSON BCADAge Source # | |
Defined in Poseidon.Janno toEncoding :: BCADAge -> Encoding toJSONList :: [BCADAge] -> Value toEncodingList :: [BCADAge] -> Encoding | |
Generic BCADAge Source # | |
Show BCADAge Source # | |
FromField BCADAge Source # | |
Defined in Poseidon.Janno parseField :: Field -> Parser BCADAge | |
ToField BCADAge Source # | |
Defined in Poseidon.Janno | |
Eq BCADAge Source # | |
Ord BCADAge Source # | |
type Rep BCADAge Source # | |
Defined in Poseidon.Janno |
newtype JannoCountry Source #
A datatype for countries in ISO-alpha2 code format
JannoCountry Country |
Instances
A datatype for Latitudes
Instances
FromJSON Latitude Source # | |
Defined in Poseidon.Janno parseJSON :: Value -> Parser Latitude parseJSONList :: Value -> Parser [Latitude] | |
ToJSON Latitude Source # | |
Defined in Poseidon.Janno toEncoding :: Latitude -> Encoding toJSONList :: [Latitude] -> Value toEncodingList :: [Latitude] -> Encoding | |
Generic Latitude Source # | |
Show Latitude Source # | |
FromField Latitude Source # | |
Defined in Poseidon.Janno parseField :: Field -> Parser Latitude | |
ToField Latitude Source # | |
Defined in Poseidon.Janno | |
Eq Latitude Source # | |
Ord Latitude Source # | |
Defined in Poseidon.Janno | |
type Rep Latitude Source # | |
Defined in Poseidon.Janno |
A datatype for Longitudes
Instances
FromJSON Longitude Source # | |
Defined in Poseidon.Janno parseJSON :: Value -> Parser Longitude parseJSONList :: Value -> Parser [Longitude] | |
ToJSON Longitude Source # | |
Defined in Poseidon.Janno toEncoding :: Longitude -> Encoding toJSONList :: [Longitude] -> Value toEncodingList :: [Longitude] -> Encoding | |
Generic Longitude Source # | |
Show Longitude Source # | |
FromField Longitude Source # | |
Defined in Poseidon.Janno parseField :: Field -> Parser Longitude | |
ToField Longitude Source # | |
Defined in Poseidon.Janno | |
Eq Longitude Source # | |
Ord Longitude Source # | |
Defined in Poseidon.Janno | |
type Rep Longitude Source # | |
Defined in Poseidon.Janno |
data JannoDateType Source #
A datatype to represent Date_Type in a janno file
Instances
data JannoCaptureType Source #
A datatype to represent Capture_Type in a janno file
Shotgun | |
A1240K | |
ArborComplete | |
ArborPrimePlus | |
ArborAncestralPlus | |
TwistAncientDNA | |
OtherCapture | |
ReferenceGenome |
Instances
data JannoGenotypePloidy Source #
A datatype to represent Genotype_Ploidy in a janno file
Instances
A datatype for Percent values
Instances
FromJSON Percent Source # | |
Defined in Poseidon.Janno parseJSON :: Value -> Parser Percent parseJSONList :: Value -> Parser [Percent] | |
ToJSON Percent Source # | |
Defined in Poseidon.Janno toEncoding :: Percent -> Encoding toJSONList :: [Percent] -> Value toEncodingList :: [Percent] -> Encoding | |
Generic Percent Source # | |
Show Percent Source # | |
FromField Percent Source # | |
Defined in Poseidon.Janno parseField :: Field -> Parser Percent | |
ToField Percent Source # | |
Defined in Poseidon.Janno | |
Eq Percent Source # | |
Ord Percent Source # | |
type Rep Percent Source # | |
Defined in Poseidon.Janno |
A datatype to represent UDG in a janno file
Instances
A datatype to represent URIs in a janno file
Instances
FromJSON JURI Source # | |
Defined in Poseidon.Janno parseJSON :: Value -> Parser JURI parseJSONList :: Value -> Parser [JURI] | |
ToJSON JURI Source # | |
Defined in Poseidon.Janno | |
Generic JURI Source # | |
Show JURI Source # | |
FromField JURI Source # | |
Defined in Poseidon.Janno parseField :: Field -> Parser JURI | |
ToField JURI Source # | |
Defined in Poseidon.Janno | |
Eq JURI Source # | |
Ord JURI Source # | |
type Rep JURI Source # | |
Defined in Poseidon.Janno |
data RelationDegree Source #
Instances
data JannoLibraryBuilt Source #
A datatype to represent Library_Built in a janno file
Instances
data AccessionID Source #
A datatype to represent AccessionIDs in a janno file
INSDCProject String | |
INSDCStudy String | |
INSDCBioSample String | |
INSDCSample String | |
INSDCExperiment String | |
INSDCRun String | |
INSDCAnalysis String | |
OtherID String |
Instances
makeAccessionID :: MonadFail m => String -> m AccessionID Source #
readJannoFile :: FilePath -> PoseidonIO JannoRows Source #
A function to load one janno file
createMinimalJanno :: [EigenstratIndEntry] -> JannoRows Source #
A function to create empty janno rows for a set of individuals
createMinimalSample :: EigenstratIndEntry -> JannoRow Source #
A function to create an empty janno row for an individual
jannoHeaderString :: [String] Source #
newtype CsvNamedRecord Source #
A datatype to collect additional, unpecified .janno file columns (a hashmap in cassava/Data.Csv)
CsvNamedRecord NamedRecord |
Instances
A data type to represent a janno file
Instances
FromJSON JannoRows Source # | |
Defined in Poseidon.Janno parseJSON :: Value -> Parser JannoRows parseJSONList :: Value -> Parser [JannoRows] | |
ToJSON JannoRows Source # | |
Defined in Poseidon.Janno toEncoding :: JannoRows -> Encoding toJSONList :: [JannoRows] -> Value toEncodingList :: [JannoRows] -> Encoding | |
Monoid JannoRows Source # | |
Semigroup JannoRows Source # | |
Generic JannoRows Source # | |
Show JannoRows Source # | |
Eq JannoRows Source # | |
type Rep JannoRows Source # | |
Defined in Poseidon.Janno |
type JannoStringList = JannoList String Source #
filterLookup :: FromField a => NamedRecord -> ByteString -> Parser a Source #
filterLookupOptional :: FromField a => NamedRecord -> ByteString -> Parser (Maybe a) Source #
getCsvNR :: CsvNamedRecord -> NamedRecord Source #
encodingOptions :: EncodeOptions Source #
decodingOptions :: DecodeOptions Source #
explicitNA :: ByteString -> ByteString Source #
A helper functions to replace empty bytestrings values in janno files with explicit "n/a"
removeUselessSuffix :: String -> String Source #
parseCsvParseError :: Parser CsvParseError Source #
renderCsvParseError :: CsvParseError -> String Source #
getMaybeJannoList :: Maybe (JannoList a) -> [a] Source #