MARQ 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +20 -0
- data/R/CustomDS.R +80 -0
- data/R/GEO.R +249 -0
- data/R/MA.R +359 -0
- data/README.rdoc +29 -0
- data/bin/marq_config +170 -0
- data/install_scripts/CustomDS/Rakefile +223 -0
- data/install_scripts/GEO/Rakefile +258 -0
- data/install_scripts/GEO/platforms/GPL100.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1002.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1007.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL101.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1010.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1073.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1074.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1090.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1104.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL118.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1205.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1211.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1213.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1219.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1223.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1226.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1229.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1230.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1231.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1232.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1260.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1261.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL127.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL128.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1290.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1292.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1293.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1294.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1295.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL13.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1310.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1313.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1323.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1331.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1352.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1355.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1382.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1387.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1397.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL14.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1412.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1415.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1420.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL144.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1449.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1458.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1523.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1524.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1528.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL153.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1530.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1535.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL155.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL163.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL168.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL169.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1704.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1708.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1739.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1740.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1749.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL177.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1790.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1792.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL181.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1818.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1820.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1823.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1826.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL183.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1831.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1833.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1872.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1911.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1914.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1928.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1942.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1945.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL1964.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL198.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL1981.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL200.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2006.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL201.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL2011.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2026.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL205.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL207.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2136.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL220.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL226.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL24.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL246.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL247.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2507.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL2529.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL2531.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL254.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2569.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL257.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2598.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL260.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2614.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL2622.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2623.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2660.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2670.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2677.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2700.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL2721.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2727.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL273.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2763.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2824.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL284.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL287.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL2872.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL288.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL2883.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL289.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL2895.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL2897.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2902.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL2987.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL2995.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL3039.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL3050.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL3084.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL3113.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL317.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL319.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL32.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL3222.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL3295.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL3305.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL3306.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL3307.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL333.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL3341.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL3349.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL339.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL340.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL3408.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL341.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL3415.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL3423.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL3440.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL3457.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL3504.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL3506.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL355.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL3558.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL3607.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL368.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL3695.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL371.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL3834.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL4006.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL4055.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL409.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL4191.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL4226.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL4371.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL4567.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL4685.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL483.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL49.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL50.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL500.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL507.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL51.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL513.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL519.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL52.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL529.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL53.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL5356.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL538.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL54.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL543.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL544.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL545.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL546.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL547.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL549.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL550.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL56.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL560.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL564.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL57.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL570.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL571.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL576.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL58.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL5823.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL59.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL5915.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL5947.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL61.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL64.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL6419.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL6424.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL65.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL6574.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL6649.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL67.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL6720.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL7054.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL737.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL738.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL74.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL75.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL76.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL764.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL772.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL782.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL783.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL784.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL80.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL81.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL82.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL83.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL85.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL86.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL87.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL870.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL875.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL884.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL887.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL89.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL890.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL891.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL90.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL91.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL92.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL920.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL922.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL924.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL93.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL96.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL968.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL97.yaml +4 -0
- data/install_scripts/GEO/platforms/GPL98.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL981.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL99.yaml +7 -0
- data/install_scripts/GEO/platforms/GPL999.yaml +7 -0
- data/install_scripts/GEO/series/GSE10018.yaml +61 -0
- data/install_scripts/GEO/series/GSE1002.yaml +135 -0
- data/install_scripts/GEO/series/GSE10066.yaml +31 -0
- data/install_scripts/GEO/series/GSE10073.yaml +19 -0
- data/install_scripts/GEO/series/GSE10091.yaml +15 -0
- data/install_scripts/GEO/series/GSE101.yaml +17 -0
- data/install_scripts/GEO/series/GSE10100.yaml +15 -0
- data/install_scripts/GEO/series/GSE10101.yaml +15 -0
- data/install_scripts/GEO/series/GSE10102.yaml +15 -0
- data/install_scripts/GEO/series/GSE10267.yaml +37 -0
- data/install_scripts/GEO/series/GSE10268.yaml +115 -0
- data/install_scripts/GEO/series/GSE10279.yaml +23 -0
- data/install_scripts/GEO/series/GSE103.yaml +19 -0
- data/install_scripts/GEO/series/GSE104.yaml +19 -0
- data/install_scripts/GEO/series/GSE10514.yaml +27 -0
- data/install_scripts/GEO/series/GSE10521.yaml +56 -0
- data/install_scripts/GEO/series/GSE10554.yaml +19 -0
- data/install_scripts/GEO/series/GSE1073.yaml +127 -0
- data/install_scripts/GEO/series/GSE10860.yaml +25 -0
- data/install_scripts/GEO/series/GSE10930.yaml +15 -0
- data/install_scripts/GEO/series/GSE10933.yaml +15 -0
- data/install_scripts/GEO/series/GSE10944.yaml +21 -0
- data/install_scripts/GEO/series/GSE10947.yaml +21 -0
- data/install_scripts/GEO/series/GSE10948.yaml +21 -0
- data/install_scripts/GEO/series/GSE11061.yaml +19 -0
- data/install_scripts/GEO/series/GSE11071.yaml +67 -0
- data/install_scripts/GEO/series/GSE11111.yaml +25 -0
- data/install_scripts/GEO/series/GSE11236.yaml +25 -0
- data/install_scripts/GEO/series/GSE11282.yaml +19 -0
- data/install_scripts/GEO/series/GSE11377.yaml +19 -0
- data/install_scripts/GEO/series/GSE11380.yaml +13 -0
- data/install_scripts/GEO/series/GSE11397.yaml +55 -0
- data/install_scripts/GEO/series/GSE11412.yaml +11 -0
- data/install_scripts/GEO/series/GSE11452.yaml +354 -0
- data/install_scripts/GEO/series/GSE11620.yaml +33 -0
- data/install_scripts/GEO/series/GSE11621.yaml +31 -0
- data/install_scripts/GEO/series/GSE11651.yaml +94 -0
- data/install_scripts/GEO/series/GSE11754.yaml +29 -0
- data/install_scripts/GEO/series/GSE11799.yaml +59 -0
- data/install_scripts/GEO/series/GSE11856.yaml +11 -0
- data/install_scripts/GEO/series/GSE11878.yaml +19 -0
- data/install_scripts/GEO/series/GSE11983.yaml +15 -0
- data/install_scripts/GEO/series/GSE12004.yaml +41 -0
- data/install_scripts/GEO/series/GSE12055.yaml +109 -0
- data/install_scripts/GEO/series/GSE12061.yaml +13 -0
- data/install_scripts/GEO/series/GSE12104.yaml +10 -0
- data/install_scripts/GEO/series/GSE12138.yaml +13 -0
- data/install_scripts/GEO/series/GSE12150.yaml +32 -0
- data/install_scripts/GEO/series/GSE12684.yaml +47 -0
- data/install_scripts/GEO/series/GSE12685.yaml +34 -0
- data/install_scripts/GEO/series/GSE1365.yaml +14 -0
- data/install_scripts/GEO/series/GSE1404.yaml +596 -0
- data/install_scripts/GEO/series/GSE1492.yaml +15 -0
- data/install_scripts/GEO/series/GSE15222.yaml +731 -0
- data/install_scripts/GEO/series/GSE1553.yaml +23 -0
- data/install_scripts/GEO/series/GSE1617.yaml +39 -0
- data/install_scripts/GEO/series/GSE1688.yaml +36 -0
- data/install_scripts/GEO/series/GSE1693.yaml +60 -0
- data/install_scripts/GEO/series/GSE1752.yaml +32 -0
- data/install_scripts/GEO/series/GSE1753.yaml +16 -0
- data/install_scripts/GEO/series/GSE1754.yaml +19 -0
- data/install_scripts/GEO/series/GSE1758.yaml +15 -0
- data/install_scripts/GEO/series/GSE1759.yaml +18 -0
- data/install_scripts/GEO/series/GSE1760.yaml +18 -0
- data/install_scripts/GEO/series/GSE1763.yaml +19 -0
- data/install_scripts/GEO/series/GSE1915.yaml +39 -0
- data/install_scripts/GEO/series/GSE1927.yaml +14 -0
- data/install_scripts/GEO/series/GSE1941.yaml +23 -0
- data/install_scripts/GEO/series/GSE1942.yaml +31 -0
- data/install_scripts/GEO/series/GSE1944.yaml +58 -0
- data/install_scripts/GEO/series/GSE1975.yaml +65 -0
- data/install_scripts/GEO/series/GSE20.yaml +24 -0
- data/install_scripts/GEO/series/GSE2107.yaml +14 -0
- data/install_scripts/GEO/series/GSE2159.yaml +31 -0
- data/install_scripts/GEO/series/GSE2246.yaml +157 -0
- data/install_scripts/GEO/series/GSE2263.yaml +57 -0
- data/install_scripts/GEO/series/GSE2267.yaml +155 -0
- data/install_scripts/GEO/series/GSE23.yaml +58 -0
- data/install_scripts/GEO/series/GSE2329.yaml +43 -0
- data/install_scripts/GEO/series/GSE2330.yaml +55 -0
- data/install_scripts/GEO/series/GSE2349.yaml +19 -0
- data/install_scripts/GEO/series/GSE2412.yaml +58 -0
- data/install_scripts/GEO/series/GSE2419.yaml +27 -0
- data/install_scripts/GEO/series/GSE2420.yaml +29 -0
- data/install_scripts/GEO/series/GSE2434.yaml +37 -0
- data/install_scripts/GEO/series/GSE2526.yaml +23 -0
- data/install_scripts/GEO/series/GSE2579.yaml +19 -0
- data/install_scripts/GEO/series/GSE2806.yaml +11 -0
- data/install_scripts/GEO/series/GSE2831.yaml +35 -0
- data/install_scripts/GEO/series/GSE2832.yaml +17 -0
- data/install_scripts/GEO/series/GSE29.yaml +16 -0
- data/install_scripts/GEO/series/GSE3006.yaml +35 -0
- data/install_scripts/GEO/series/GSE3043.yaml +18 -0
- data/install_scripts/GEO/series/GSE3122.yaml +12 -0
- data/install_scripts/GEO/series/GSE3130.yaml +12 -0
- data/install_scripts/GEO/series/GSE3151.yaml +118 -0
- data/install_scripts/GEO/series/GSE3160.yaml +31 -0
- data/install_scripts/GEO/series/GSE3190.yaml +14 -0
- data/install_scripts/GEO/series/GSE3205.yaml +36 -0
- data/install_scripts/GEO/series/GSE3206.yaml +23 -0
- data/install_scripts/GEO/series/GSE3315.yaml +13 -0
- data/install_scripts/GEO/series/GSE3335.yaml +15 -0
- data/install_scripts/GEO/series/GSE34.yaml +31 -0
- data/install_scripts/GEO/series/GSE3470.yaml +15 -0
- data/install_scripts/GEO/series/GSE35.yaml +80 -0
- data/install_scripts/GEO/series/GSE3503.yaml +19 -0
- data/install_scripts/GEO/series/GSE3683.yaml +83 -0
- data/install_scripts/GEO/series/GSE3684.yaml +19 -0
- data/install_scripts/GEO/series/GSE3685.yaml +31 -0
- data/install_scripts/GEO/series/GSE3686.yaml +63 -0
- data/install_scripts/GEO/series/GSE3687.yaml +83 -0
- data/install_scripts/GEO/series/GSE3802.yaml +19 -0
- data/install_scripts/GEO/series/GSE3803.yaml +19 -0
- data/install_scripts/GEO/series/GSE3804.yaml +19 -0
- data/install_scripts/GEO/series/GSE3805.yaml +19 -0
- data/install_scripts/GEO/series/GSE3813.yaml +9 -0
- data/install_scripts/GEO/series/GSE3814.yaml +71 -0
- data/install_scripts/GEO/series/GSE3815.yaml +75 -0
- data/install_scripts/GEO/series/GSE3817.yaml +13 -0
- data/install_scripts/GEO/series/GSE3818.yaml +15 -0
- data/install_scripts/GEO/series/GSE3819.yaml +13 -0
- data/install_scripts/GEO/series/GSE3820.yaml +61 -0
- data/install_scripts/GEO/series/GSE3821.yaml +55 -0
- data/install_scripts/GEO/series/GSE3844.yaml +11 -0
- data/install_scripts/GEO/series/GSE3853.yaml +31 -0
- data/install_scripts/GEO/series/GSE3935.yaml +12 -0
- data/install_scripts/GEO/series/GSE3969.yaml +14 -0
- data/install_scripts/GEO/series/GSE4049.yaml +80 -0
- data/install_scripts/GEO/series/GSE4144.yaml +9 -0
- data/install_scripts/GEO/series/GSE4261.yaml +59 -0
- data/install_scripts/GEO/series/GSE4295.yaml +63 -0
- data/install_scripts/GEO/series/GSE4398.yaml +50 -0
- data/install_scripts/GEO/series/GSE4719.yaml +76 -0
- data/install_scripts/GEO/series/GSE4720.yaml +78 -0
- data/install_scripts/GEO/series/GSE4721.yaml +14 -0
- data/install_scripts/GEO/series/GSE4807.yaml +67 -0
- data/install_scripts/GEO/series/GSE4826.yaml +39 -0
- data/install_scripts/GEO/series/GSE4934.yaml +23 -0
- data/install_scripts/GEO/series/GSE5027.yaml +31 -0
- data/install_scripts/GEO/series/GSE5070.yaml +25 -0
- data/install_scripts/GEO/series/GSE5238.yaml +31 -0
- data/install_scripts/GEO/series/GSE5267.yaml +55 -0
- data/install_scripts/GEO/series/GSE5281.yaml +492 -0
- data/install_scripts/GEO/series/GSE5290.yaml +24 -0
- data/install_scripts/GEO/series/GSE5376.yaml +107 -0
- data/install_scripts/GEO/series/GSE5575.yaml +13 -0
- data/install_scripts/GEO/series/GSE5835.yaml +25 -0
- data/install_scripts/GEO/series/GSE5836.yaml +37 -0
- data/install_scripts/GEO/series/GSE5837.yaml +37 -0
- data/install_scripts/GEO/series/GSE5938.yaml +187 -0
- data/install_scripts/GEO/series/GSE600.yaml +29 -0
- data/install_scripts/GEO/series/GSE6018.yaml +55 -0
- data/install_scripts/GEO/series/GSE6066.yaml +20 -0
- data/install_scripts/GEO/series/GSE6067.yaml +31 -0
- data/install_scripts/GEO/series/GSE6068.yaml +55 -0
- data/install_scripts/GEO/series/GSE6070.yaml +31 -0
- data/install_scripts/GEO/series/GSE6071.yaml +30 -0
- data/install_scripts/GEO/series/GSE6072.yaml +37 -0
- data/install_scripts/GEO/series/GSE6101.yaml +26 -0
- data/install_scripts/GEO/series/GSE6111.yaml +20 -0
- data/install_scripts/GEO/series/GSE6190.yaml +30 -0
- data/install_scripts/GEO/series/GSE6277.yaml +19 -0
- data/install_scripts/GEO/series/GSE6331.yaml +51 -0
- data/install_scripts/GEO/series/GSE6346.yaml +49 -0
- data/install_scripts/GEO/series/GSE6358.yaml +22 -0
- data/install_scripts/GEO/series/GSE6405.yaml +36 -0
- data/install_scripts/GEO/series/GSE6450.yaml +51 -0
- data/install_scripts/GEO/series/GSE6687.yaml +15 -0
- data/install_scripts/GEO/series/GSE6705.yaml +19 -0
- data/install_scripts/GEO/series/GSE6801.yaml +27 -0
- data/install_scripts/GEO/series/GSE6847.yaml +18 -0
- data/install_scripts/GEO/series/GSE6870.yaml +23 -0
- data/install_scripts/GEO/series/GSE7103.yaml +28 -0
- data/install_scripts/GEO/series/GSE7140.yaml +19 -0
- data/install_scripts/GEO/series/GSE7188.yaml +23 -0
- data/install_scripts/GEO/series/GSE7261.yaml +16 -0
- data/install_scripts/GEO/series/GSE7337.yaml +19 -0
- data/install_scripts/GEO/series/GSE7338.yaml +19 -0
- data/install_scripts/GEO/series/GSE7362.yaml +123 -0
- data/install_scripts/GEO/series/GSE7369.yaml +15 -0
- data/install_scripts/GEO/series/GSE7525.yaml +33 -0
- data/install_scripts/GEO/series/GSE7537.yaml +27 -0
- data/install_scripts/GEO/series/GSE7645.yaml +152 -0
- data/install_scripts/GEO/series/GSE7660.yaml +41 -0
- data/install_scripts/GEO/series/GSE7820.yaml +30 -0
- data/install_scripts/GEO/series/GSE79.yaml +32 -0
- data/install_scripts/GEO/series/GSE8035.yaml +19 -0
- data/install_scripts/GEO/series/GSE8088.yaml +13 -0
- data/install_scripts/GEO/series/GSE8089.yaml +19 -0
- data/install_scripts/GEO/series/GSE8111.yaml +15 -0
- data/install_scripts/GEO/series/GSE8237.yaml +35 -0
- data/install_scripts/GEO/series/GSE8326.yaml +37 -0
- data/install_scripts/GEO/series/GSE8399.yaml +13 -0
- data/install_scripts/GEO/series/GSE850.yaml +15 -0
- data/install_scripts/GEO/series/GSE8506.yaml +32 -0
- data/install_scripts/GEO/series/GSE8542.yaml +47 -0
- data/install_scripts/GEO/series/GSE8558.yaml +19 -0
- data/install_scripts/GEO/series/GSE8559.yaml +47 -0
- data/install_scripts/GEO/series/GSE8613.yaml +19 -0
- data/install_scripts/GEO/series/GSE8629.yaml +18 -0
- data/install_scripts/GEO/series/GSE8729.yaml +19 -0
- data/install_scripts/GEO/series/GSE8761.yaml +55 -0
- data/install_scripts/GEO/series/GSE8765.yaml +15 -0
- data/install_scripts/GEO/series/GSE8805.yaml +64 -0
- data/install_scripts/GEO/series/GSE8825.yaml +79 -0
- data/install_scripts/GEO/series/GSE8895.yaml +31 -0
- data/install_scripts/GEO/series/GSE8897.yaml +17 -0
- data/install_scripts/GEO/series/GSE8898.yaml +18 -0
- data/install_scripts/GEO/series/GSE8900.yaml +43 -0
- data/install_scripts/GEO/series/GSE8982.yaml +106 -0
- data/install_scripts/GEO/series/GSE920.yaml +20 -0
- data/install_scripts/GEO/series/GSE960.yaml +10 -0
- data/install_scripts/GEO/series/GSE961.yaml +14 -0
- data/install_scripts/GEO/series/GSE962.yaml +20 -0
- data/install_scripts/GEO/series/GSE963.yaml +14 -0
- data/install_scripts/GEO/series/GSE964.yaml +14 -0
- data/install_scripts/GEO/series/GSE965.yaml +14 -0
- data/install_scripts/GEO/series/GSE966.yaml +14 -0
- data/install_scripts/GEO/series/GSE993.yaml +9 -0
- data/lib/MARQ.rb +79 -0
- data/lib/MARQ/CustomDS.rb +99 -0
- data/lib/MARQ/GEO.rb +585 -0
- data/lib/MARQ/ID.rb +148 -0
- data/lib/MARQ/MADB.rb +243 -0
- data/lib/MARQ/annotations.rb +740 -0
- data/lib/MARQ/fdr.rb +177 -0
- data/lib/MARQ/main.rb +227 -0
- data/lib/MARQ/rankproduct.rb +146 -0
- data/lib/MARQ/score.rb +395 -0
- data/merb/Rakefile +35 -0
- data/merb/app/controllers/application.rb +2 -0
- data/merb/app/controllers/exceptions.rb +13 -0
- data/merb/app/controllers/help.rb +22 -0
- data/merb/app/controllers/main.rb +72 -0
- data/merb/app/controllers/normalize.rb +41 -0
- data/merb/app/controllers/results.rb +247 -0
- data/merb/app/controllers/series.rb +44 -0
- data/merb/app/helpers/global_helpers.rb +5 -0
- data/merb/app/helpers/main_helper.rb +5 -0
- data/merb/app/helpers/results_helper.rb +50 -0
- data/merb/app/stylesheets/marq.sass +561 -0
- data/merb/app/stylesheets/marq_mixins.sass +23 -0
- data/merb/app/stylesheets/rounded_corners.sass +35 -0
- data/merb/app/views/exceptions/not_acceptable.html.erb +63 -0
- data/merb/app/views/exceptions/not_found.html.erb +47 -0
- data/merb/app/views/help/_menu.html.haml +4 -0
- data/merb/app/views/help/index.html.haml +110 -0
- data/merb/app/views/help/meth.html.haml +301 -0
- data/merb/app/views/help/quick.html.haml +149 -0
- data/merb/app/views/layout/application.html.haml +27 -0
- data/merb/app/views/main/index.html.haml +96 -0
- data/merb/app/views/normalize/index.html.haml +51 -0
- data/merb/app/views/partials/_annotations.html.haml +37 -0
- data/merb/app/views/partials/_enrichment.html.haml +17 -0
- data/merb/app/views/partials/_experiment.html.haml +33 -0
- data/merb/app/views/partials/_ie.html.haml +19 -0
- data/merb/app/views/partials/_video.html.haml +5 -0
- data/merb/app/views/results/compare.html.haml +161 -0
- data/merb/app/views/results/error.html.haml +5 -0
- data/merb/app/views/results/explore_hits.html.haml +54 -0
- data/merb/app/views/results/images.html.haml +18 -0
- data/merb/app/views/results/main.html.haml +125 -0
- data/merb/app/views/results/wait.html.haml +10 -0
- data/merb/app/views/series/main.html.haml +99 -0
- data/merb/autotest/discover.rb +1 -0
- data/merb/autotest/merb.rb +149 -0
- data/merb/autotest/merb_rspec.rb +165 -0
- data/merb/config.ru +76 -0
- data/merb/config/environments/development.rb +15 -0
- data/merb/config/environments/production.rb +10 -0
- data/merb/config/environments/rake.rb +11 -0
- data/merb/config/environments/staging.rb +10 -0
- data/merb/config/environments/test.rb +12 -0
- data/merb/config/init.rb +66 -0
- data/merb/config/rack.rb +11 -0
- data/merb/config/router.rb +64 -0
- data/merb/doc/rdoc/generators/merb_generator.rb +1362 -0
- data/merb/doc/rdoc/generators/template/merb/api_grease.js +640 -0
- data/merb/doc/rdoc/generators/template/merb/index.html.erb +37 -0
- data/merb/doc/rdoc/generators/template/merb/merb.css +252 -0
- data/merb/doc/rdoc/generators/template/merb/merb.rb +351 -0
- data/merb/doc/rdoc/generators/template/merb/merb_doc_styles.css +492 -0
- data/merb/doc/rdoc/generators/template/merb/prototype.js +2515 -0
- data/merb/lib/helper.rb +452 -0
- data/merb/public/favicon.ico +0 -0
- data/merb/public/images/guide/annotations.png +0 -0
- data/merb/public/images/guide/compare.png +0 -0
- data/merb/public/images/guide/compare_page.png +0 -0
- data/merb/public/images/guide/download.png +0 -0
- data/merb/public/images/guide/genes.png +0 -0
- data/merb/public/images/guide/hits.png +0 -0
- data/merb/public/images/guide/name.png +0 -0
- data/merb/public/images/guide/organism.png +0 -0
- data/merb/public/images/guide/table.png +0 -0
- data/merb/public/images/loadingAnimation.gif +0 -0
- data/merb/public/images/logo_ARTECS.jpg +0 -0
- data/merb/public/images/logo_BCU.jpg +0 -0
- data/merb/public/images/logo_MICRO.png +0 -0
- data/merb/public/images/macFFBgHack.png +0 -0
- data/merb/public/images/merb.jpg +0 -0
- data/merb/public/images/meth/G.gif +0 -0
- data/merb/public/images/meth/MARQ.gif +0 -0
- data/merb/public/images/meth/PS_bottom.gif +0 -0
- data/merb/public/images/meth/PS_bottom_formula.gif +0 -0
- data/merb/public/images/meth/PS_top.gif +0 -0
- data/merb/public/images/meth/PS_top_formula.gif +0 -0
- data/merb/public/images/meth/Q.gif +0 -0
- data/merb/public/images/meth/Rplot.png +0 -0
- data/merb/public/images/meth/S_bottom.gif +0 -0
- data/merb/public/images/meth/S_diff.gif +0 -0
- data/merb/public/images/meth/S_down.gif +0 -0
- data/merb/public/images/meth/S_top.gif +0 -0
- data/merb/public/images/meth/S_up.gif +0 -0
- data/merb/public/images/meth/alpha.gif +0 -0
- data/merb/public/images/meth/beta_0.gif +0 -0
- data/merb/public/images/meth/beta_1.gif +0 -0
- data/merb/public/images/meth/d.gif +0 -0
- data/merb/public/images/meth/d_formula.gif +0 -0
- data/merb/public/images/meth/d_noabs.gif +0 -0
- data/merb/public/images/meth/d_range.gif +0 -0
- data/merb/public/images/meth/g.gif +0 -0
- data/merb/public/images/meth/i.gif +0 -0
- data/merb/public/images/meth/m.gif +0 -0
- data/merb/public/images/meth/p.gif +0 -0
- data/merb/public/images/meth/penalty.gif +0 -0
- data/merb/public/images/meth/q.gif +0 -0
- data/merb/public/images/meth/w.gif +0 -0
- data/merb/public/images/meth/w_formula.gif +0 -0
- data/merb/public/images/meth/w_weight.gif +0 -0
- data/merb/public/images/meth/weight.gif +0 -0
- data/merb/public/images/meth/weight_function.gif +0 -0
- data/merb/public/images/top.png +0 -0
- data/merb/public/images/top2.png +0 -0
- data/merb/public/images/wait.gif +0 -0
- data/merb/public/javascripts/jquery-ui.core.js +519 -0
- data/merb/public/javascripts/jquery-ui.hitarea.js +168 -0
- data/merb/public/javascripts/jquery.js +19 -0
- data/merb/public/javascripts/jquery.scrollTo.js +11 -0
- data/merb/public/javascripts/jquery.tablescroll.js +124 -0
- data/merb/public/javascripts/jquery.tabs.js +642 -0
- data/merb/public/javascripts/marq.js +51 -0
- data/merb/public/javascripts/marq_pages.js +504 -0
- data/merb/public/javascripts/thickbox.js +320 -0
- data/merb/public/javascripts/wz_jsgraphics.js +1108 -0
- data/merb/public/merb.fcgi +22 -0
- data/merb/public/plugins/dialog/javascripts/jquery-ui.dialog.js +44 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-icons_222222_256x240.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-icons_2e83ff_256x240.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-icons_454545_256x240.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-icons_888888_256x240.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/merb/public/plugins/dialog/stylesheets/jquery-ui.dialog.css +404 -0
- data/merb/public/plugins/tablesorter/images/asc.gif +0 -0
- data/merb/public/plugins/tablesorter/images/bg.gif +0 -0
- data/merb/public/plugins/tablesorter/images/blue.zip +0 -0
- data/merb/public/plugins/tablesorter/images/desc.gif +0 -0
- data/merb/public/plugins/tablesorter/javascripts/jquery.tablesorter.js +2 -0
- data/merb/public/plugins/tablesorter/stylesheets/jquery.tablesorter.css +39 -0
- data/merb/public/robots.txt +5 -0
- data/merb/public/stylesheets/thickbox.css +163 -0
- data/merb/spec/requests/main_spec.rb +7 -0
- data/merb/spec/requests/results_spec.rb +7 -0
- data/merb/spec/spec.opts +0 -0
- data/merb/spec/spec_helper.rb +20 -0
- data/merb/tasks/merb.thor/app_script.rb +31 -0
- data/merb/tasks/merb.thor/common.rb +68 -0
- data/merb/tasks/merb.thor/gem_ext.rb +125 -0
- data/merb/tasks/merb.thor/main.thor +150 -0
- data/merb/tasks/merb.thor/ops.rb +93 -0
- data/merb/tasks/merb.thor/utils.rb +40 -0
- data/tasks/install.rake +21 -0
- data/webservice/MARQWS.rb +167 -0
- metadata +798 -0
data/lib/MARQ/GEO.rb
ADDED
@@ -0,0 +1,585 @@
|
|
1
|
+
require 'MARQ'
|
2
|
+
require 'rbbt/util/open'
|
3
|
+
require 'rbbt/sources/organism'
|
4
|
+
require 'rsruby'
|
5
|
+
|
6
|
+
module GEO
|
7
|
+
|
8
|
+
CACHE_DIR = File.join(MARQ.cachedir,'GEO')
|
9
|
+
FileUtils.mkdir_p CACHE_DIR unless File.exists? CACHE_DIR
|
10
|
+
|
11
|
+
GEO_SOFT="http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?targ=self&view=full&form=text&acc="
|
12
|
+
def self.get_soft(item)
|
13
|
+
item = item.strip
|
14
|
+
cache_file = File.join(CACHE_DIR, item + '.soft')
|
15
|
+
if File.exist?( cache_file )
|
16
|
+
File.open(cache_file).read
|
17
|
+
else
|
18
|
+
content = Open.read(GEO_SOFT + item, :nocache => true)
|
19
|
+
fout = File.open(cache_file,'w')
|
20
|
+
fout.write content
|
21
|
+
fout.close
|
22
|
+
content
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
#{{{ Eutils
|
27
|
+
module Eutils
|
28
|
+
def self.organism_platforms(org)
|
29
|
+
name = Organism.name(org)
|
30
|
+
Open.read("http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=gds&term=\"#{name}\"[Organism:exp]+AND+%22gpl%22[Filter]&retmax=10000").
|
31
|
+
scan(/<Id>(\d+?)<\/Id>/).collect{|id| id.first}.collect{|id| "GPL#{id.sub(/^100*/,'')}"}
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.GPL_datasets(platform)
|
35
|
+
Open.read("http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=gds&term=#{platform}[Accession]&retmax=2000").
|
36
|
+
scan(/<Id>(\d+?)<\/Id>/).collect{|id| id.first}.select{|id| !id.match(/^(1|2)000/) }.collect{|id| "GDS#{id}"}
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.GSE_dataset?(gse)
|
40
|
+
Open.read("http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=geo&term=#{gse}[Accession]&retmax=2000").
|
41
|
+
match(/<Id>(\d+?)<\/Id>/) != nil
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
#{{{ Helper functions
|
49
|
+
|
50
|
+
|
51
|
+
def self.consecutive?(ids)
|
52
|
+
ids.collect{|id| id.to_i}.sort[0..19] == (1..20).to_a
|
53
|
+
end
|
54
|
+
|
55
|
+
def self.numerical?(ids)
|
56
|
+
ids.compact.select{|id| ! id.match(/^\d+$/)}.uniq.length < ids.length.to_f / 10
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.dna_sequence?(ids)
|
60
|
+
ids.compact.select{|id| ! id.strip.match(/^[ATCG]+$/i)}.empty?
|
61
|
+
end
|
62
|
+
|
63
|
+
|
64
|
+
ID_FIX = {
|
65
|
+
:mgi_unigene => proc{|gene| if gene then gene.match(/^Mm./) ? gene : "Mm." + gene end},
|
66
|
+
:human_unigene => proc{|gene| if gene then gene.match(/^Hs./) ? gene : "Hs." + gene end},
|
67
|
+
}
|
68
|
+
|
69
|
+
@@formats = {}
|
70
|
+
def self.guessIds(genes,org, name = nil)
|
71
|
+
@@formats[org] ||= Organism.id_formats(org)
|
72
|
+
if consecutive?(genes) || dna_sequence?(genes) || (numerical?(genes) && (name.nil? || !name.match(/entrez/i)))
|
73
|
+
id = nil
|
74
|
+
else
|
75
|
+
fix = ID_FIX[(org + "_" + name.downcase).to_sym] if name
|
76
|
+
if fix
|
77
|
+
genes = genes.collect{|gene| fix.call(gene)}
|
78
|
+
end
|
79
|
+
id = Organism.guessIdFormat(@@formats[org], genes)
|
80
|
+
end
|
81
|
+
|
82
|
+
id
|
83
|
+
end
|
84
|
+
|
85
|
+
@@r = nil
|
86
|
+
def self.r
|
87
|
+
if @@r.nil?
|
88
|
+
RSRuby.instance.source(MARQ.rootdir + '/R/MA.R')
|
89
|
+
RSRuby.instance.source(MARQ.rootdir + '/R/GEO.R')
|
90
|
+
@@r = RSRuby.instance
|
91
|
+
end
|
92
|
+
@@r
|
93
|
+
end
|
94
|
+
|
95
|
+
|
96
|
+
#{{{ Process
|
97
|
+
|
98
|
+
def self.get_GPL(name, prefix, id_field = nil)
|
99
|
+
r.GEO_GPL_process(name, prefix, id_field, CACHE_DIR)
|
100
|
+
end
|
101
|
+
|
102
|
+
def self.get_GDS(name, prefix, id_field = nil, id_file = nil)
|
103
|
+
r.GEO_GDS_process(name, prefix, id_field, id_file, CACHE_DIR)
|
104
|
+
end
|
105
|
+
|
106
|
+
def self.get_GSE(gsms, conditions, do_log, prefix, id_file = nil, fields= nil, title = nil, description = nil)
|
107
|
+
r.GEO_GSE_process(gsms, conditions, prefix, do_log, id_file, fields, title, description, CACHE_DIR)
|
108
|
+
end
|
109
|
+
|
110
|
+
def self.GSE_info(series)
|
111
|
+
soft = get_soft(series)
|
112
|
+
raise "SOFT file error" if soft !~ /!/
|
113
|
+
|
114
|
+
if match = soft.scan(/!Series_platform_id\s*=?\s*(.*)/)
|
115
|
+
platform = match.flatten.collect{|p| p.strip}
|
116
|
+
else
|
117
|
+
raise "No Platform information"
|
118
|
+
end
|
119
|
+
|
120
|
+
if soft.match(/!Series_title \s*=?\s*(.*)/)
|
121
|
+
title = $1
|
122
|
+
else
|
123
|
+
raise "No Title information"
|
124
|
+
end
|
125
|
+
|
126
|
+
if soft.match(/!Series_summary \s*=?\s*(.*)/)
|
127
|
+
matches = soft.scan(/!Series_summary \s*=?\s*(.*)/).to_a
|
128
|
+
description = matches.collect{|m| m.to_s.strip.sub(/!Series_summary \s*=?\s*/,'')}.join("\n")
|
129
|
+
else
|
130
|
+
raise "No Summary information"
|
131
|
+
end
|
132
|
+
|
133
|
+
if soft.match(/!Series_sample_id \s*=?\s*(.*)/)
|
134
|
+
matches = soft.scan(/!Series_sample_id \s*=?\s*(.*)/).to_a
|
135
|
+
samples = matches.collect{|m| m.to_s.strip.sub(/!Series_sample_id \s*=?\s*/,'')}
|
136
|
+
else
|
137
|
+
raise "No Summary information"
|
138
|
+
end
|
139
|
+
|
140
|
+
{
|
141
|
+
:platform => platform.join("_"),
|
142
|
+
:description =>description.strip,
|
143
|
+
:title => title.strip,
|
144
|
+
:samples => samples,
|
145
|
+
}
|
146
|
+
end
|
147
|
+
|
148
|
+
def self.GSM_info(array)
|
149
|
+
soft = get_soft(array)
|
150
|
+
|
151
|
+
if soft.match(/!Sample_title\s*=?\s*(.*)/)
|
152
|
+
title = $1
|
153
|
+
else
|
154
|
+
raise "No Title information"
|
155
|
+
end
|
156
|
+
|
157
|
+
|
158
|
+
if soft.match(/!Sample_description \s*=?\s*(.*)/)
|
159
|
+
description = $1
|
160
|
+
else
|
161
|
+
raise "No Description information"
|
162
|
+
end
|
163
|
+
|
164
|
+
{
|
165
|
+
|
166
|
+
:description =>description.strip,
|
167
|
+
:title => title.strip,
|
168
|
+
}
|
169
|
+
end
|
170
|
+
|
171
|
+
def self.GPL_id_fields(platform)
|
172
|
+
soft = get_soft(platform)
|
173
|
+
data = soft.split(/!platform_table_begin/s)[1].collect{|l| l.chomp.split(/\t/)}
|
174
|
+
data.shift
|
175
|
+
data.shift
|
176
|
+
end
|
177
|
+
|
178
|
+
def self.GPL_info(platform)
|
179
|
+
if !File.exist?(File.join(MARQ.datadir, 'GEO', 'platforms',"#{platform}.yaml")) &&
|
180
|
+
!File.exist?(File.join(MARQ.datadir, 'GEO', 'platforms',"#{platform}.skip"))
|
181
|
+
begin
|
182
|
+
if platform =~ /_/
|
183
|
+
organism = GPL_info(platform.match(/(.*?)_/)[1])[:organism]
|
184
|
+
|
185
|
+
info = {
|
186
|
+
:organism => organism,
|
187
|
+
:title => "Merged platforms #{ platform }",
|
188
|
+
}
|
189
|
+
return info
|
190
|
+
end
|
191
|
+
soft = get_soft(platform)
|
192
|
+
|
193
|
+
|
194
|
+
raise "SOFT file error" if soft !~ /!/
|
195
|
+
|
196
|
+
organisms = soft.scan(/!Platform_organism\s*=\s*(.*)/).collect{|v| v.first.strip}
|
197
|
+
|
198
|
+
if organisms.empty?
|
199
|
+
raise "No Organism information"
|
200
|
+
else
|
201
|
+
# This might happen actually GPL2529
|
202
|
+
organisms.delete('Schizosaccharomyces pombe') if organisms.include?('Saccharomyces cerevisiae')
|
203
|
+
org_name = organisms.first
|
204
|
+
end
|
205
|
+
|
206
|
+
|
207
|
+
title = ""
|
208
|
+
if soft.match(/!Platform_title\s*=\s*(.*)/)
|
209
|
+
title = $1
|
210
|
+
end
|
211
|
+
|
212
|
+
org = Organism.name2org(org_name)
|
213
|
+
raise "Organism not identified" if org.nil?
|
214
|
+
|
215
|
+
if soft.match(/!platform_table_begin/)
|
216
|
+
data = soft.split(/!platform_table_begin/s)[1].collect{|l| l.chomp.split(/\t/)}
|
217
|
+
data.shift
|
218
|
+
names = data.shift
|
219
|
+
total = data.first.length
|
220
|
+
genes = data.sort_by{ rand }[1..1000].collect{|v| v.first}
|
221
|
+
|
222
|
+
id = guessIds(genes,org, names.first)
|
223
|
+
other = nil
|
224
|
+
other_pos = 0
|
225
|
+
other_count = 0
|
226
|
+
other_name = 0
|
227
|
+
if id.nil?
|
228
|
+
(1..total - 1).to_a.each{|num|
|
229
|
+
genes = data.collect{|v| v[num]}
|
230
|
+
other = guessIds(genes,org, name = names[num])
|
231
|
+
|
232
|
+
if other && other[1] > other_count
|
233
|
+
other_pos = num
|
234
|
+
other_count = other[1]
|
235
|
+
other_name = names[num]
|
236
|
+
end
|
237
|
+
}
|
238
|
+
end
|
239
|
+
else
|
240
|
+
raise "Soft file incomplete"
|
241
|
+
end
|
242
|
+
|
243
|
+
info = {:organism => org, :BioMart_ID => id ? id.first : nil, :title => title }
|
244
|
+
info[:other_ID_field] = [other_pos + 1, other_name] if other_pos > 0
|
245
|
+
|
246
|
+
|
247
|
+
Open.write(File.join(MARQ.datadir, 'GEO', 'platforms',"#{platform}.yaml"), info.to_yaml)
|
248
|
+
rescue Exception
|
249
|
+
puts $!.message
|
250
|
+
puts $!.backtrace
|
251
|
+
Open.write(File.join(MARQ.datadir, 'GEO', 'platforms',"#{platform}.skip"), $!.message)
|
252
|
+
end
|
253
|
+
end
|
254
|
+
|
255
|
+
raise "Platform info for #{ platform } is not available and could not be automatically produced." if File.exist?(File.join(MARQ.datadir, 'GEO', 'platforms',"#{platform}.skip"))
|
256
|
+
|
257
|
+
YAML::load(File.open(File.join(MARQ.datadir, 'GEO', 'platforms',"#{platform}.yaml")))
|
258
|
+
end
|
259
|
+
|
260
|
+
def self.GDS_info(name)
|
261
|
+
begin
|
262
|
+
title, description = Open.read(dataset_path(name) + '.description').split(/\n--\n/).values_at(0,1)
|
263
|
+
{:title => title.strip, :description => description.strip}
|
264
|
+
rescue Exception
|
265
|
+
puts $!.message
|
266
|
+
{:title => "" , :description => "" }
|
267
|
+
end
|
268
|
+
|
269
|
+
end
|
270
|
+
|
271
|
+
|
272
|
+
#{{{ Misc Info
|
273
|
+
|
274
|
+
def self.clean(name)
|
275
|
+
name.sub(/_cross_platform/,'') if name
|
276
|
+
end
|
277
|
+
|
278
|
+
def self.platform_path(platform)
|
279
|
+
File.join(MARQ.datadir, "GEO/#{clean(platform)}")
|
280
|
+
end
|
281
|
+
|
282
|
+
def self.dataset_path(dataset, platform = nil)
|
283
|
+
if platform
|
284
|
+
return Dir.glob(File.join(platform_path(clean(platform)),"/*/#{ dataset }")).first.match(/(.*)\./)[1]
|
285
|
+
else
|
286
|
+
files = Dir.glob(File.join(MARQ.datadir, "GEO/GPL*/*/#{ dataset }.*"))
|
287
|
+
if files.any?
|
288
|
+
return files.first.match(/(.*)\./)[1]
|
289
|
+
else
|
290
|
+
return ""
|
291
|
+
end
|
292
|
+
end
|
293
|
+
end
|
294
|
+
|
295
|
+
def self.is_cross_platform?(dataset)
|
296
|
+
dataset =~ /_cross_platform/
|
297
|
+
end
|
298
|
+
|
299
|
+
def self.has_cross_platform?(dataset = nil, platform = nil)
|
300
|
+
platform = clean(platform)
|
301
|
+
raise "Dataset #{ dataset } not found" if dataset && dataset_path(dataset, platform).nil?
|
302
|
+
raise "Platform #{ platform } not found" if platform && platform_path(platform).nil?
|
303
|
+
if dataset
|
304
|
+
File.exists?(dataset_path(dataset, platform) + "_cross_platform.orders")
|
305
|
+
else
|
306
|
+
Dir.glob(File.join(platform_path(platform), '*', '*_cross_platform.orders')).any?
|
307
|
+
end
|
308
|
+
end
|
309
|
+
|
310
|
+
|
311
|
+
def self.platform_datasets(platform)
|
312
|
+
Dir.glob(File.join(platform_path(platform),"*/*.orders")).collect{|f| File.basename(f).sub(/.orders$/,'')}.select{|d| !is_cross_platform?(d)}
|
313
|
+
end
|
314
|
+
|
315
|
+
def self.dataset_platform(dataset)
|
316
|
+
dataset_path(dataset).match(/(GPL\d+)/)
|
317
|
+
$1
|
318
|
+
end
|
319
|
+
|
320
|
+
def self.organism_platforms(organism)
|
321
|
+
Dir.glob(File.join(MARQ.datadir, "GEO/GPL*")).collect{|f|
|
322
|
+
File.basename(f)
|
323
|
+
}.select{|platform|
|
324
|
+
GPL_info(platform)[:organism] == organism &&
|
325
|
+
platform_datasets(platform).any?
|
326
|
+
}
|
327
|
+
end
|
328
|
+
|
329
|
+
#{{{ Processing
|
330
|
+
|
331
|
+
def self.process_GDS(dataset, platform, field = nil)
|
332
|
+
puts "Processing GDS #{ dataset }. Platform #{ platform }"
|
333
|
+
|
334
|
+
puts "-- Original"
|
335
|
+
prefix = File.join(platform_path(platform), 'GDS', dataset.to_s)
|
336
|
+
GEO.get_GDS(dataset, prefix, field, nil)
|
337
|
+
|
338
|
+
# Was there an error?
|
339
|
+
if File.exist?(prefix + '.skip')
|
340
|
+
FileUtils.cp(prefix + '.skip', prefix + '_cross_platform.skip')
|
341
|
+
return
|
342
|
+
end
|
343
|
+
|
344
|
+
if File.exist?(File.join(platform,'cross_platform'))
|
345
|
+
puts "-- Translated to cross_platform format"
|
346
|
+
GEO.get_GDS(dataset, prefix + '_cross_platform', field, File.join(platform_path(platform), 'translations'))
|
347
|
+
end
|
348
|
+
end
|
349
|
+
|
350
|
+
# Rearange the lines of a file with the given order
|
351
|
+
def self.rearange(order, file, missing = "NA")
|
352
|
+
orig_lines = File.open(file).collect
|
353
|
+
return if orig_lines.empty?
|
354
|
+
columns = orig_lines.first.split(/\t/).length
|
355
|
+
|
356
|
+
lines = Array.new(order.length)
|
357
|
+
|
358
|
+
orig_lines.each_with_index{|l,i|
|
359
|
+
next if l.nil? || order[i].nil?
|
360
|
+
lines[order[i]] = l.chomp
|
361
|
+
}
|
362
|
+
|
363
|
+
lines = lines.collect{|l| l || [missing]*columns*"\t"}
|
364
|
+
|
365
|
+
fout = File.open(file, 'w')
|
366
|
+
fout.write(lines.join("\n"))
|
367
|
+
fout.close
|
368
|
+
end
|
369
|
+
|
370
|
+
# Fix possible discrepancies in ids between series and platforms
|
371
|
+
def self.fix_GSE_ids(platform_codes_file, prefix)
|
372
|
+
platform_codes = File.open(platform_codes_file).collect{|l| l.chomp}
|
373
|
+
platform_order = {}
|
374
|
+
|
375
|
+
platform_codes.each_with_index{|code, i|
|
376
|
+
platform_order[code] = i
|
377
|
+
}
|
378
|
+
|
379
|
+
series_codes = File.open(prefix + '.codes').collect{|l| l.chomp}
|
380
|
+
|
381
|
+
platform_positions = platform_order.values_at(*series_codes)
|
382
|
+
|
383
|
+
# Fill with nil for missing positions
|
384
|
+
platform_positions[platform_codes.length] ||= nil
|
385
|
+
|
386
|
+
%w(codes t logratios orders pvalues).each{|ext|
|
387
|
+
rearange(platform_positions, prefix + '.' + ext)
|
388
|
+
}
|
389
|
+
|
390
|
+
Open.write(prefix + '.swap', platform_positions.join("\n"))
|
391
|
+
end
|
392
|
+
|
393
|
+
|
394
|
+
|
395
|
+
def self.process_GSE(series, info)
|
396
|
+
return if Dir.glob(File.join(info[:platform], 'GSE', series) + '.*').any?
|
397
|
+
|
398
|
+
gsms = []
|
399
|
+
conditions = {}
|
400
|
+
info[:arrays].each{|gsm, cond|
|
401
|
+
gsms << gsm
|
402
|
+
cond.each{|condition, value|
|
403
|
+
conditions[condition] ||= []
|
404
|
+
conditions[condition] << value
|
405
|
+
}
|
406
|
+
}
|
407
|
+
platform = info[:platform]
|
408
|
+
do_log = nil
|
409
|
+
do_log = !info[:log2] if info[:log2]
|
410
|
+
fields = info[:fields]
|
411
|
+
|
412
|
+
puts "Processing GSE #{ series }. Platform #{ platform }"
|
413
|
+
|
414
|
+
prefix = File.join(platform_path(platform), 'GSE', series.to_s)
|
415
|
+
puts "-- Original"
|
416
|
+
GEO.get_GSE(gsms, conditions, do_log, prefix, nil, fields, info[:title], info[:description])
|
417
|
+
|
418
|
+
# Was there an error?
|
419
|
+
if File.exist?(prefix + '.skip')
|
420
|
+
FileUtils.cp(prefix + '.skip', prefix + '_cross_platform.skip')
|
421
|
+
return
|
422
|
+
end
|
423
|
+
|
424
|
+
if platform =~ /_/
|
425
|
+
FileUtils.cp(prefix + '.codes', File.join(platform_path(platform),'codes'))
|
426
|
+
codes = Open.read(File.join(platform_path(platform), 'codes')).collect{|l| l.chomp}
|
427
|
+
organism = GEO::GPL_info(platform.match(/(.*?)_/)[1])[:organism]
|
428
|
+
translations = ID.translate(organism, codes)
|
429
|
+
Open.write(File.join(platform_path(platform), 'translations'), translations.collect{|v| v || "NO MATCH"}.join("\n"))
|
430
|
+
Open.write(File.join(platform_path(platform), 'cross_platform'), translations.compact.sort.uniq.join("\n"))
|
431
|
+
else
|
432
|
+
# Are the codes of the series equivalent to the ones in the platform?
|
433
|
+
if File.open(File.join(platform_path(platform),'codes')).collect{|l| l.chomp} != File.open(prefix + '.codes').collect{|l| l.chomp}
|
434
|
+
fix_GSE_ids(File.join(platform_path(platform), 'codes'),prefix);
|
435
|
+
end
|
436
|
+
end
|
437
|
+
|
438
|
+
|
439
|
+
if File.exist?(File.join(platform,'translations'))
|
440
|
+
FileUtils.cp(File.join(platform,'translations'), prefix + '.translations')
|
441
|
+
if File.exist?(prefix + '.swap')
|
442
|
+
orders = Open.read(prefix + '.swap').collect{|l| l.chomp}
|
443
|
+
inverse_orders = Array.new(orders.length)
|
444
|
+
orders.each_with_index{|pos,i|
|
445
|
+
next if pos !~ /\d/
|
446
|
+
inverse_orders[pos.to_i] = i
|
447
|
+
}
|
448
|
+
rearange(inverse_orders, prefix + '.translations', "NO MATCH")
|
449
|
+
end
|
450
|
+
puts "-- Translated to cross_platform format"
|
451
|
+
GEO.get_GSE(gsms, conditions, do_log, prefix + '_cross_platform', prefix + '.translations',fields, info[:title], info[:description])
|
452
|
+
fix_GSE_ids(File.join(platform_path(platform), 'cross_platform'),prefix + '_cross_platform');
|
453
|
+
FileUtils.rm(prefix + '.translations') if File.exist?(prefix + '.translations')
|
454
|
+
end
|
455
|
+
FileUtils.rm(prefix + '.swap') if File.exist?(prefix + '.swap')
|
456
|
+
end
|
457
|
+
|
458
|
+
def self.process_platform(platform)
|
459
|
+
path = platform_path(platform)
|
460
|
+
return if File.exist? path
|
461
|
+
|
462
|
+
if platform =~ /_/
|
463
|
+
FileUtils.mkdir(path)
|
464
|
+
FileUtils.mkdir(path + '/GSE')
|
465
|
+
FileUtils.mkdir(path + '/GDS')
|
466
|
+
return
|
467
|
+
end
|
468
|
+
|
469
|
+
info = GEO::GPL_info(platform)
|
470
|
+
organism = info[:organism]
|
471
|
+
|
472
|
+
field = info[:other_ID_field]
|
473
|
+
id = info[:BioMart_ID]
|
474
|
+
org = info[:organism]
|
475
|
+
field = nil if field == ""
|
476
|
+
id = nil if id == ""
|
477
|
+
|
478
|
+
|
479
|
+
puts "Processing Platform #{ platform }"
|
480
|
+
[platform,
|
481
|
+
File.join(platform_path(platform), 'GDS'),
|
482
|
+
File.join(platform_path(platform), 'GSE'),
|
483
|
+
].each{|d|
|
484
|
+
FileUtils.mkdir d unless File.exist? d
|
485
|
+
}
|
486
|
+
|
487
|
+
get_GPL(platform, platform_path(platform), nil)
|
488
|
+
FileUtils.mv platform_path(platform) + '.codes', File.join(platform_path(platform), 'codes')
|
489
|
+
|
490
|
+
|
491
|
+
# AILUN translations
|
492
|
+
codes = Open.read(File.join(platform_path(platform), 'codes')).collect{|l| l.chomp}
|
493
|
+
ailun = ID.AILUN_translate(platform, codes)
|
494
|
+
Open.write(File.join(platform_path(platform), 'ailun'), ailun.collect{|v| v || "NO MATCH"}.join("\n")) if ailun.compact.length > codes.length.to_f / 10
|
495
|
+
|
496
|
+
# BioMart translations
|
497
|
+
biomart = []
|
498
|
+
if id || field
|
499
|
+
if id
|
500
|
+
codes = Open.read(File.join(platform_path(platform), 'codes')).collect{|l| l.chomp}
|
501
|
+
else
|
502
|
+
if field
|
503
|
+
get_GPL(platform, platform_path(platform), field[0])
|
504
|
+
FileUtils.mv platform_path(platform) + '.codes', File.join(platform_path(platform), 'other')
|
505
|
+
end
|
506
|
+
|
507
|
+
fix = ID_FIX[(organism + "_" + field[1].downcase).to_sym]
|
508
|
+
codes = Open.read(File.join(platform_path(platform), 'other')).collect{|l|
|
509
|
+
code = l.chomp
|
510
|
+
code = fix.call(code) if fix
|
511
|
+
code
|
512
|
+
}
|
513
|
+
end
|
514
|
+
|
515
|
+
biomart = ID.translate(organism, codes)
|
516
|
+
Open.write(File.join(platform_path(platform), 'biomart'), biomart.collect{|v| v || "NO MATCH"}.join("\n")) if biomart.compact.length > codes.length.to_f / 10
|
517
|
+
end
|
518
|
+
|
519
|
+
# Select Best and save
|
520
|
+
translations = []
|
521
|
+
if ailun.compact.uniq.length > biomart.compact.uniq.length
|
522
|
+
id_type = ID::DEFAULT_FORMATS[organism] || ID::DEFAULT_FORMAT_ALL || id || field || "Entrez Gene Id"
|
523
|
+
if id_type.to_s !~ /Entrez/i
|
524
|
+
translations = ID.translate(org,ailun.collect{|gene| gene || "NO MATCH"})
|
525
|
+
else
|
526
|
+
translations = ailun
|
527
|
+
end
|
528
|
+
else
|
529
|
+
translations = biomart
|
530
|
+
end
|
531
|
+
|
532
|
+
if translations.compact.length > codes.length.to_f / 10
|
533
|
+
Open.write(File.join(platform_path(platform), 'translations'), translations.collect{|v| v || "NO MATCH"}.join("\n"))
|
534
|
+
Open.write(File.join(platform_path(platform), 'cross_platform'), translations.compact.sort.uniq.join("\n"))
|
535
|
+
end
|
536
|
+
|
537
|
+
end
|
538
|
+
|
539
|
+
|
540
|
+
def self.process_platform_datasets(platform, force = false)
|
541
|
+
raise "Platform #{ platform } not ready" unless File.exist? platform_path(platform)
|
542
|
+
|
543
|
+
info = YAML::load(File.open(File.join(MARQ.datadir, "GEO/platforms/#{platform}.yaml")))
|
544
|
+
|
545
|
+
datasets = GEO::Eutils::GPL_datasets(platform)
|
546
|
+
datasets.each{|dataset|
|
547
|
+
next if Dir.glob(File.join(platform_path(platform), 'GDS', dataset) + '.*').any? && ! force
|
548
|
+
process_GDS(dataset, platform, nil)
|
549
|
+
}
|
550
|
+
end
|
551
|
+
|
552
|
+
end
|
553
|
+
|
554
|
+
if __FILE__ == $0
|
555
|
+
|
556
|
+
p GEO.GPL_info('GPL920_GPL927')
|
557
|
+
p GEO.GPL_id_fields('GPL920')
|
558
|
+
puts GEO.GSE_info('GSE962')
|
559
|
+
puts GEO.GSE_info('GSE8982')
|
560
|
+
puts GEO::Eutils.GSE_dataset?('GSE8982')
|
561
|
+
puts GEO::Eutils.GSE_dataset?('GSE962')
|
562
|
+
|
563
|
+
exit
|
564
|
+
|
565
|
+
#puts GEO::dataset_path('GDS1103').inspect
|
566
|
+
#puts GEO::dataset_platform('GDS1103').inspect
|
567
|
+
|
568
|
+
# puts GEO.dataset_path('GDS2931')
|
569
|
+
# puts GEO.platform_datasets('GPL91')
|
570
|
+
# puts GEO.platform_datasets('GPL91').select{|d| GEO.has_cross_platform?(d)}
|
571
|
+
#
|
572
|
+
# gpls = Open.read('ftp://ftp.ncbi.nih.gov/pub/geo/DATA/supplementary/PLATFORMS.txt').collect{|l|
|
573
|
+
# l.chomp.split.first
|
574
|
+
# }
|
575
|
+
#
|
576
|
+
# %w(GPL85).each{|gpl|
|
577
|
+
# puts gpl
|
578
|
+
# puts GEO::GPL_info(gpl).inspect if gpl =~ /GPL/
|
579
|
+
# }
|
580
|
+
#
|
581
|
+
#puts GEO::GSM_info('GSM70604').inspect
|
582
|
+
|
583
|
+
p GEO::Eutils.organism_platforms('human')
|
584
|
+
|
585
|
+
end
|