Mercurial > repos > greg > validate_affy_metadata
changeset 0:ae030e6e838c draft
Uploaded
author | greg |
---|---|
date | Wed, 14 Nov 2018 14:47:32 -0500 |
parents | |
children | 613186952d42 |
files | .shed.yml test-data/affy_metadata.csv validate_affy_metadata.py validate_affy_metadata.xml |
diffstat | 4 files changed, 298 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.shed.yml Wed Nov 14 14:47:32 2018 -0500 @@ -0,0 +1,11 @@ +name: validate_affy_metadata +owner: greg +description: | + Contains a tool that validates an Affymetrix metadata file for 96 well plate data. +homepage_url: https://github.com/gregvonkuster/galaxy_tools/tree/master/tools/corals/validate_affy_metadata +long_description: | + Contains a tool that validates an Affymetrix metadata file for 96 well plate data. +remote_repository_url: https://github.com/gregvonkuster/galaxy_tools/tree/master/tools/corals/validate_affy_metadata +type: unrestricted +categories: + - Micro-array Analysis
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/affy_metadata.csv Wed Nov 14 14:47:32 2018 -0500 @@ -0,0 +1,97 @@ +sample_id,date_entered_db,user_specimen_id,duplicate_sample,matching_samples,field_call,bcoral_genet_id,bsym_genet_id,reef,region,latitude,longitude,geographic_origin,sample_location,latitude_outplant,longitude_outplant,depth,dist_shore,disease_resist,bleach_resist,mortality,tle,spawning,collector,org,collection_date,contact_email,seq_facility,array_version,data_sharing,data_hold +167,18/11/08,test_002,No,,prolifera,,,JohnsonsReef,Bahamas,18.361733,-64.7743,Reef,,,,5,,,,,,yes,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +168,18/11/08,test_003,No,,prolifera,,,JohnsonsReef,Bahamas,18.361733,-64.7743,Reef,,,,6,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +169,18/11/08,test_005,No,,prolifera,,,JohnsonsReef,Bahamas,18.361733,-64.7743,Reef,,,,7,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +170,18/11/08,test_006,No,,prolifera,,,JohnsonsReef,Bahamas,18.361733,-64.7743,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +171,18/11/08,test_007,No,,prolifera,,,JohnsonsReef,Bahamas,18.361733,-64.7743,Reef,,,,2,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +172,18/11/08,test_008,No,,prolifera,,,JohnsonsReef,Bahamas,18.361733,-64.7743,Reef,,,,1,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +173,18/11/08,test_010,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,10,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +174,18/11/08,test_011,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,12,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +175,18/11/08,test_012,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,24,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +176,18/11/08,test_013,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,6,,,,,,yes,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +177,18/11/08,test_014,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,15,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +178,18/11/08,test_015,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,4,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +179,18/11/08,test_016,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,13,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +180,18/11/08,test_017,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,10,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +181,18/11/08,test_018,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,6,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +182,18/11/08,test_019,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,15,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +183,18/11/08,test_020,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,4,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +184,18/11/08,test_021,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,13,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +185,18/11/08,test_022,No,,cervicornis,,,LittleGrecian,Florida,25.11844009,-80.3171895,Reef,,,,13,,,,,,yes,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +186,18/11/08,test_023,No,,prolifera,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,5,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +187,18/11/08,test_024,No,,prolifera,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,6,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +188,18/11/08,test_025,No,,prolifera,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,7,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +189,18/11/08,test_026,No,,prolifera,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +190,18/11/08,test_027,No,,prolifera,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,2,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +191,18/11/08,test_028,No,,prolifera,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,1,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +192,18/11/08,test_029,No,,prolifera,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,2,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +193,18/11/08,test_030,No,,prolifera,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,6,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +194,18/11/08,test_031,No,,prolifera,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,6,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +195,18/11/08,test_032,No,,prolifera,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,6,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +196,18/11/08,test_033,No,,prolifera,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,6,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +197,18/11/08,test_034,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,17,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +198,18/11/08,test_035,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,17,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +199,18/11/08,test_036,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,23,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +200,18/11/08,test_037,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,7,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +201,18/11/08,test_038,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,9,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +202,18/11/08,test_039,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,6,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +203,18/11/08,test_040,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,3,,,,,,yes,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +204,18/11/08,test_041,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,11,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +205,18/11/08,test_042,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,10,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +206,18/11/08,test_043,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,4,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +207,18/11/08,test_044,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,17,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +208,18/11/08,test_045,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,4,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +209,18/11/08,test_046,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,7,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +210,18/11/08,test_047,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +211,18/11/08,test_048,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +212,18/11/08,test_049,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +213,18/11/08,test_050,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,4,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +214,18/11/08,test_051,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,6,,,,,,yes,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +215,18/11/08,test_052,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,5,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +216,18/11/08,test_053,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,4,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +217,18/11/08,test_054,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,4,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +218,18/11/08,test_055,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,4,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +219,18/11/08,test_056,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,1,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +220,18/11/08,test_057,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,4,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,Yes +221,18/11/08,test_058,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,1,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +222,18/11/08,test_059,No,,palmata,,,Curlew,Belize,16.7909389,-88.0830056,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +223,18/11/08,test_060,No,,cervicornis,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +224,18/11/08,test_061,No,,cervicornis,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,4,,,,,,yes,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +225,18/11/08,test_062,No,,cervicornis,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,2,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +226,18/11/08,test_063,No,,cervicornis,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,5,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +227,18/11/08,test_064,No,,cervicornis,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,4,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +228,18/11/08,test_065,No,,cervicornis,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,27,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +229,18/11/08,test_066,No,,cervicornis,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,25,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +230,18/11/08,test_067,No,,cervicornis,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,13,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +231,18/11/08,test_068,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +232,18/11/08,test_069,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,9,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +233,18/11/08,test_070,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,6,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +234,18/11/08,test_072,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,16,,,,,,yes,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +235,18/11/08,test_073,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +236,18/11/08,test_074,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,11,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +237,18/11/08,test_075,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +238,18/11/08,test_076,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,5,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +239,18/11/08,test_077,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,6,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +240,18/11/08,test_078,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,16,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +241,18/11/08,test_079,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +242,18/11/08,test_080,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,11,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +243,18/11/08,test_081,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +244,18/11/08,test_083,No,,palmata,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,5,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +245,18/11/08,test_084,No,,prolifera,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,2,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +246,18/11/08,test_085,No,,prolifera,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,1,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +247,18/11/08,test_086,No,,prolifera,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,4,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +248,18/11/08,test_087,No,,prolifera,,,SeaAquarium2,Curacao,12.0842,-68.8966,Reef,,,,5,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +249,18/11/08,test_088,No,,palmata,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,6,,,,,,yes,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +250,18/11/08,test_089,Yes,,palmata,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,7,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +251,18/11/08,test_090,Yes,,palmata,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +252,18/11/08,test_091,Yes,,palmata,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,4,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +253,18/11/08,test_092,Yes,,palmata,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,2,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +254,18/11/08,test_093,No,,palmata,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,1,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +255,18/11/08,test_094,Yes,,palmata,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,2,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +256,18/11/08,test_095,Yes,,cervicornis,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,10,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +257,18/11/08,test_096,Yes,,cervicornis,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,8,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +258,18/11/08,test_001,Yes,,cervicornis,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,7,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +259,18/11/08,test_004,Yes,,cervicornis,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,6,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +260,18/11/08,test_009,Yes,,cervicornis,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,10,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +261,18/11/08,test_071,Yes,,cervicornis,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,3,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No +262,18/11/08,test_082,Yes,,cervicornis,,,Margara,PuertoRico,17.949552,-66.727433,Reef,,,,5,,,,,,No,Sheila Kitchen,Penn State,18/11/08,sak89@psu.edu,Affymetrix,1,Yes,No
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/validate_affy_metadata.py Wed Nov 14 14:47:32 2018 -0500 @@ -0,0 +1,158 @@ +#!/usr/bin/env python +""" +Validate the metadata file associated with Affymetrix 96 well plate data. +""" +import argparse +import datetime +import decimal +import re +import shutil +import sys + +parser = argparse.ArgumentParser() +parser.add_argument('--input', dest='input', help='Metadata file for Affymetrix 96 well plate data') +parser.add_argument('--output', dest='output', help='Output dataset'), +args = parser.parse_args() + +EMAIL_MAX_LEN = 255 +VALID_EMAIL_RE = re.compile("[^@]+@[^@]+\.[^@]+") + + +def add_error_msg(accumulated_msgs, msg): + return "%s\n%s" % (accumulated_msgs, msg) + + +def empty_value(line_no, label, accumulated_msgs): + return add_error_msg(accumulated_msgs, "The required %s value is missing on line %d." % (label, line_no)) + + +def stop_error(msg): + sys.exit(msg) + + +def validate_date_string(line_no, date_string, accumulated_msgs): + try: + datetime.datetime.strptime(date_string, '%Y/%m/%d') + return accumulated_msgs + except ValueError: + return add_error_msg(accumulated_msgs, "Line %d contains an incorrect date format (must be YY/MM/DD)." % line_no) + + +def validate_decimal(line_no, decimal_string, accumulated_msgs): + try: + decimal.Decimal(decimal_string) + return accumulated_msgs + except Exception: + return add_error_msg(accumulated_msgs, "Line %d contains an incorrect decimal value (%s)." % (line_no, decimal_string)) + + +def validate_email(line_no, email, accumulated_msgs): + if not (VALID_EMAIL_RE.match(email)): + return add_error_msg(accumulated_msgs, "Line %d contains an invalid email address (%s). " % (line_no, email)) + elif len(email) > EMAIL_MAX_LEN: + return add_error_msg(accumulated_msgs, "Line %d contains an email address (%) that is longer than the maximum length, %d characters." % (line_no, email)) + return accumulated_msgs + + +accumulated_msgs = "" +# Parse the input file, skipping the header, and validating +# that each data line consists of 31 comma-separated items. +with open(args.input, "r") as ih: + for i, line in ih: + if i == 0: + # Skip the header. + continue + line = line.rstrip("\r\n") + if i > 97: + accumulated_msgs = add_error_msg(accumulated_msgs, "The input file contains more than 96 data lines.") + stop_error(accumulated_msgs) + items = line.split("\t") + if len(items) != 31: + accumulated_msgs = add_error_msg(accumulated_msgs, "Line %d contains %s columns, (must be 31)." % (i, len(items))) + stop_error() + # Required. + sample_id = items[0] + if len(sample_id) == 0: + accumulated_msgs = empty_value(i, "sample_id", accumulated_msgs) + # Required and validated. + date_entered_db = items[1] + accumulated_msgs = validate_date_string(date_entered_db, accumulated_msgs) + # Required. + user_specimen_id = items[2] + if len(user_specimen_id) == 0: + accumulated_msgs = empty_value(i, "user_specimen_id", accumulated_msgs) + # Optional. + duplicate_sample = items[3] + # Optional. + matching_samples = items[4] + # Optional. + field_call = items[5] + # Optional. + bcoral_genet_id = items[6] + # Optional. + bsym_genet_id = items[7] + # Required. + reef = items[8] + if len(reef) == 0: + accumulated_msgs = empty_value(i, "reef", accumulated_msgs) + # Required. + region = items[9] + if len(region) == 0: + accumulated_msgs = empty_value(i, "region", accumulated_msgs) + # Required and validated. + latitude = items[10] + accumulated_msgs = validate_decimal(i, latitude, accumulated_msgs) + # Required and validated. + longitude = items[11] + accumulated_msgs = validate_decimal(i, longitude, accumulated_msgs) + # Optional. + geographic_origin = items[12] + # Optional. + sample_location = items[13] + # Optional. + latitude_outplant = items[14] + # Optional. + longitude_outplant = items[15] + # Optional. + depth = items[16] + # Optional. + dist_shore = items[17] + # Optional. + disease_resist = items[18] + # Optional. + bleach_resist = items[19] + # Optional. + mortality = items[20] + # Optional. + tle = items[21] + # Optional. + spawning = items[22] + # Required. + collector = items[23] + if len(collector) == 0: + accumulated_msgs = empty_value(i, "collector", accumulated_msgs) + # Required. + org = items[24] + if len(org) == 0: + accumulated_msgs = empty_value(i, "org", accumulated_msgs) + # Required and validated. + collection_date = items[25] + accumulated_msgs = validate_date_string(date_entered_db, accumulated_msgs) + # Required and validated. + contact_email = items[26] + accumulated_msgs = validate_email(contact_email, accumulated_msgs) + # Required. + seq_facility = items[27] + if len(seq_facility) == 0: + accumulated_msgs = empty_value(i, "seq_facility", accumulated_msgs) + # Optional. + array_version = items[28] + # Optional. + data_sharing = items[29] + # Optional. + data_hold = items[30] + +if len(accumulated_msgs > 0): + stop_error(accumulated_msgs) + +shutil.copy_file(args.input, args.output)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/validate_affy_metadata.xml Wed Nov 14 14:47:32 2018 -0500 @@ -0,0 +1,32 @@ +<tool id="validate_affy_metadata" name="Validate Affymetrix metadata" version="1.0.0"> + <description>for 96 well plate</description> + <command detect_errors="exit_code"><![CDATA[ +python '$__tool_directory__/validate_affy_metadata.py' +--input '$input' +--output '$output']]></command> + <inputs> + <param name="input" type="data" format="csv" label="Affymetrix 96 well plate metadata file"> + <validator type="expression" message="96 well plate data must have 31 columns and no more than 96 lines of data"><![CDATA[value is not None and value.metadata.columns==31 and value.metadata.data_lines<=96]]></validator> + </param> + </inputs> + <outputs> + <data name="output" format="csv"/> + </outputs> + <tests> + <test> + <param name="input" value="affy_metadata.csv" ftype="csv"/> + <output name="output" file="affy_metadata.csv" ftype="csv"/> + </test> + </tests> + <help> +**What it does** + +Validates an Affymetrix metadata file for 96 well plate data. These files consist of 31 columns and no more than 96 data lines. +The tool will output the input file if it is valid. +----- + +**Required options** + </help> + <citations> + </citations> +</tool>