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/merb/lib/helper.rb
ADDED
@@ -0,0 +1,452 @@
|
|
1
|
+
require 'MARQ'
|
2
|
+
require 'soap/wsdlDriver'
|
3
|
+
require 'yaml'
|
4
|
+
require 'zlib'
|
5
|
+
require 'stringio'
|
6
|
+
require 'base64'
|
7
|
+
require 'MARQ/fdr'
|
8
|
+
require 'json'
|
9
|
+
|
10
|
+
require 'iconv'
|
11
|
+
|
12
|
+
class String
|
13
|
+
$ic = Iconv.new('UTF-8//IGNORE', 'UTF-8')
|
14
|
+
def to_utf8
|
15
|
+
$ic.iconv(self+ ' ')[0..-2]
|
16
|
+
end
|
17
|
+
|
18
|
+
alias_method :old_to_json, :to_json
|
19
|
+
def to_json(*args)
|
20
|
+
self.to_utf8.old_to_json(*args)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
def escapeURI(s)
|
29
|
+
URI.escape(s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
|
30
|
+
end
|
31
|
+
|
32
|
+
def log(message)
|
33
|
+
puts "#{Time.now}: #{ message }"
|
34
|
+
end
|
35
|
+
|
36
|
+
module JobLog
|
37
|
+
|
38
|
+
LOG_DIR = File.join(MARQ.workdir,'merb','log')
|
39
|
+
LOG_FILE = File.join(LOG_DIR,'jobs.log')
|
40
|
+
|
41
|
+
FileUtils.touch LOG_FILE
|
42
|
+
|
43
|
+
def self.log(ip, job)
|
44
|
+
message = "#{Time.now}: #{ ip } => #{ job }"
|
45
|
+
File.open(LOG_FILE, 'a').puts message
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
module CacheHelper
|
51
|
+
CACHE_DIR = File.join(MARQ.workdir, 'merb', 'cache')
|
52
|
+
FileUtils.mkdir_p(CACHE_DIR) unless File.exist?(CACHE_DIR)
|
53
|
+
|
54
|
+
class CacheLocked < Exception; end
|
55
|
+
def self.reset
|
56
|
+
FileUtils.rm Dir.glob(CACHE_DIR + '*')
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.reset_locks
|
60
|
+
FileUtils.rm Dir.glob(CACHE_DIR + '*.lock')
|
61
|
+
end
|
62
|
+
|
63
|
+
|
64
|
+
def self.build_filename(name, key)
|
65
|
+
File.join(CACHE_DIR, name + ": " + Digest::MD5.hexdigest(key.to_s))
|
66
|
+
end
|
67
|
+
|
68
|
+
def self.do(filename, block)
|
69
|
+
FileUtils.touch(filename + '.lock')
|
70
|
+
t = Time.now
|
71
|
+
data = block.call
|
72
|
+
STDERR.puts "#{ filename } time: #{Time.now - t}"
|
73
|
+
File.open(filename, 'w'){|f| f.write data}
|
74
|
+
FileUtils.rm(filename + '.lock')
|
75
|
+
return data
|
76
|
+
end
|
77
|
+
|
78
|
+
def clean(name)
|
79
|
+
FileUtils.rm Dir.glob(CACHE_DIR + "#{ name }*")
|
80
|
+
end
|
81
|
+
|
82
|
+
def cache_ready?(name, key)
|
83
|
+
filename = CacheHelper.build_filename(name, key)
|
84
|
+
File.exist?(filename)
|
85
|
+
end
|
86
|
+
|
87
|
+
def cache(name, key = [], wait = nil, &block)
|
88
|
+
filename = CacheHelper.build_filename(name, key)
|
89
|
+
begin
|
90
|
+
case
|
91
|
+
when File.exist?(filename)
|
92
|
+
return File.open(filename){|f| f.read}
|
93
|
+
when File.exist?(filename + '.lock')
|
94
|
+
raise CacheLocked
|
95
|
+
else
|
96
|
+
if wait.nil?
|
97
|
+
CacheHelper.do(filename, block)
|
98
|
+
else
|
99
|
+
Thread.new{CacheHelper.do(filename, block)}
|
100
|
+
return wait
|
101
|
+
end
|
102
|
+
|
103
|
+
end
|
104
|
+
rescue CacheLocked
|
105
|
+
if wait.nil?
|
106
|
+
sleep 30
|
107
|
+
retry
|
108
|
+
else
|
109
|
+
return wait
|
110
|
+
end
|
111
|
+
rescue Exception
|
112
|
+
FileUtils.rm(filename + '.lock') if File.exist?(filename + '.lock')
|
113
|
+
raise $!
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
def marshal_cache(name, key = [])
|
118
|
+
Marshal::load( cache(name, key) do
|
119
|
+
Marshal::dump(yield)
|
120
|
+
end)
|
121
|
+
end
|
122
|
+
|
123
|
+
|
124
|
+
end
|
125
|
+
|
126
|
+
module WS
|
127
|
+
|
128
|
+
class JobNotFound < Exception; end
|
129
|
+
|
130
|
+
def self.gunzip(s)
|
131
|
+
begin
|
132
|
+
gz = Zlib::GzipReader.new(StringIO.new(s))
|
133
|
+
gz.read
|
134
|
+
rescue Exception
|
135
|
+
puts $!.message
|
136
|
+
ensure
|
137
|
+
gz.close
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
def self.compare(a,b)
|
142
|
+
case
|
143
|
+
when a[:pvalue] < b[:pvalue]
|
144
|
+
-1
|
145
|
+
when a[:pvalue] > b[:pvalue]
|
146
|
+
1
|
147
|
+
when a[:pvalue] == b[:pvalue]
|
148
|
+
b[:score].abs <=> a[:score].abs
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
|
153
|
+
class << self
|
154
|
+
include CacheHelper
|
155
|
+
end
|
156
|
+
|
157
|
+
def self.driver
|
158
|
+
wsdl_url = MARQ.workdir + '/webservice/wsdl/MARQWS.wsdl'
|
159
|
+
SOAP::WSDLDriverFactory.new(wsdl_url).create_rpc_driver
|
160
|
+
end
|
161
|
+
|
162
|
+
def self.logratios(dataset, comparison, genes)
|
163
|
+
driver.logratios(dataset, comparison, genes)
|
164
|
+
end
|
165
|
+
|
166
|
+
def self.ts(dataset, comparison, genes)
|
167
|
+
driver.ts(dataset, comparison, genes)
|
168
|
+
end
|
169
|
+
|
170
|
+
|
171
|
+
def self.match_platform(platform, up, down, name)
|
172
|
+
driver.match_platform(platform, up, down, name)
|
173
|
+
end
|
174
|
+
|
175
|
+
def self.match_organism(organism, up, down, name)
|
176
|
+
driver.match_organism(organism, up, down, name)
|
177
|
+
end
|
178
|
+
|
179
|
+
def self.info(job)
|
180
|
+
begin
|
181
|
+
YAML::load(driver.info(job))
|
182
|
+
rescue Exception
|
183
|
+
exit(-1) if $!.message =~ /Connection refused/
|
184
|
+
raise JobNotFound, $!.message
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
def self.cross_platform?(job)
|
189
|
+
info(job)[:platform].nil?
|
190
|
+
end
|
191
|
+
|
192
|
+
def self.messages(job)
|
193
|
+
driver.messages(job)
|
194
|
+
end
|
195
|
+
|
196
|
+
|
197
|
+
def self.status(job)
|
198
|
+
driver.status(job)
|
199
|
+
end
|
200
|
+
|
201
|
+
require 'benchmark'
|
202
|
+
def self.results(job)
|
203
|
+
marshal_cache(job + '_results') do
|
204
|
+
YAML::load(gunzip(Base64.decode64(driver.result(driver.results(job).first))))
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
208
|
+
def self.genes(job)
|
209
|
+
marshal_cache(job + '_genes') do
|
210
|
+
info = info(job)
|
211
|
+
genes = {:up => [], :down => [], :missing_up => [], :missing_down => []}
|
212
|
+
|
213
|
+
info[:cross_platform_up] ||= info[:up]
|
214
|
+
info[:cross_platform_down] ||= info[:down]
|
215
|
+
|
216
|
+
info[:up].zip(info[:cross_platform_up]).each{|p|
|
217
|
+
if p[1] == "NO MATCH"
|
218
|
+
genes[:missing_up] << p
|
219
|
+
else
|
220
|
+
genes[:up] << p
|
221
|
+
end
|
222
|
+
}
|
223
|
+
|
224
|
+
info[:down].zip(info[:cross_platform_down]).each{|p|
|
225
|
+
if p[1] == "NO MATCH"
|
226
|
+
genes[:missing_down] << p
|
227
|
+
else
|
228
|
+
genes[:down] << p
|
229
|
+
end
|
230
|
+
}
|
231
|
+
genes
|
232
|
+
end
|
233
|
+
end
|
234
|
+
|
235
|
+
def self.translations(job)
|
236
|
+
marshal_cache(job + '_translations') do
|
237
|
+
info = info(job)
|
238
|
+
|
239
|
+
info[:cross_platform_up] ||= info[:up]
|
240
|
+
info[:cross_platform_down] ||= info[:down]
|
241
|
+
|
242
|
+
|
243
|
+
translations = {}
|
244
|
+
translations.merge!(Hash[*info[:up].zip(info[:cross_platform_up]).flatten])
|
245
|
+
translations.merge!(Hash[*info[:down].zip(info[:cross_platform_down]).flatten])
|
246
|
+
|
247
|
+
translations
|
248
|
+
end
|
249
|
+
end
|
250
|
+
|
251
|
+
def self.sort_results(job)
|
252
|
+
marshal_cache(job + '_sort_results') do
|
253
|
+
|
254
|
+
results = results(job)
|
255
|
+
FDR.adjust_hash!(results,:pvalue)
|
256
|
+
|
257
|
+
#max = min = 0
|
258
|
+
#results = results.collect{|experiment, info|
|
259
|
+
# max = info[:score] if info[:score] > max
|
260
|
+
# min = info[:score] if info[:score] < min
|
261
|
+
# [experiment, info]
|
262
|
+
#}
|
263
|
+
|
264
|
+
pos = []
|
265
|
+
neg = []
|
266
|
+
null = []
|
267
|
+
|
268
|
+
results.sort{|a,b| compare(a[1],b[1])}.each{|p|
|
269
|
+
null << p if p[1][:score] == 0
|
270
|
+
pos << p if p[1][:score] > 0
|
271
|
+
neg << p if p[1][:score] < 0
|
272
|
+
}
|
273
|
+
|
274
|
+
pos + null + neg.reverse
|
275
|
+
end
|
276
|
+
end
|
277
|
+
|
278
|
+
def self.annotations(job, type)
|
279
|
+
marshal_cache("#{ job }_annotations",type) do
|
280
|
+
j = driver.annotations(job, type, "#{ job }_annotations_#{type}")
|
281
|
+
|
282
|
+
while !driver.done(j)
|
283
|
+
sleep 3
|
284
|
+
end
|
285
|
+
|
286
|
+
raise driver.messages(j).last if driver.error(j)
|
287
|
+
annotations = YAML::load(gunzip(Base64.decode64(driver.result(driver.results(j).first))))
|
288
|
+
terms = YAML::load(gunzip(Base64.decode64(driver.result(driver.results(j).last))))
|
289
|
+
|
290
|
+
[annotations, terms]
|
291
|
+
end
|
292
|
+
end
|
293
|
+
|
294
|
+
end
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
class Hash
|
299
|
+
def slice(list)
|
300
|
+
copy = {}
|
301
|
+
( list & self.keys).each{|k|
|
302
|
+
copy[k] = self[k]
|
303
|
+
}
|
304
|
+
copy
|
305
|
+
end
|
306
|
+
end
|
307
|
+
|
308
|
+
module CompareGenes
|
309
|
+
module RankProduct
|
310
|
+
|
311
|
+
class << self
|
312
|
+
include CacheHelper
|
313
|
+
end
|
314
|
+
|
315
|
+
def self.filename(job, signatures, invert)
|
316
|
+
filename = File.join(MARQ.workdir, 'merb', 'tmp' , 'compare_' + Digest::MD5.hexdigest({:job => job, :signatures => signatures, :invert => invert}.inspect))
|
317
|
+
end
|
318
|
+
|
319
|
+
def self.compare(job, signatures, invert)
|
320
|
+
filename = filename(job, signatures, invert)
|
321
|
+
marshal_cache("compare", {:job => job, :signatures => signatures, :invert => invert}) do
|
322
|
+
scores_up = Object::RankProduct.rankproduct(signatures, :invert => invert, :cross_platform => WS::cross_platform?(job))
|
323
|
+
scores_down = Object::RankProduct.rankproduct(signatures, :invert => signatures - invert, :cross_platform => WS::cross_platform?(job))
|
324
|
+
|
325
|
+
FileUtils.rm(filename + '.tsv') if File.exist? filename + '.tsv'
|
326
|
+
FileUtils.rm(filename + '.xls') if File.exist? filename + '.xls'
|
327
|
+
[scores_up, scores_down]
|
328
|
+
end
|
329
|
+
end
|
330
|
+
|
331
|
+
def self.prepare_files(job, signatures, invert, genes_up, genes_down)
|
332
|
+
filename = filename(job, signatures, invert)
|
333
|
+
if ! File.exist?(filename + '.tsv')
|
334
|
+
scores_up, scores_down = self.compare(job, signatures, invert).values_at(0,1)
|
335
|
+
total_genes = scores_up.keys.sort
|
336
|
+
synonyms = Info::synonyms(WS::info(job)[:organism], total_genes, true)
|
337
|
+
|
338
|
+
rows = total_genes.collect{|gene|
|
339
|
+
|
340
|
+
up, pvalue_up, pfp_up = scores_up[gene].values_at(0,1,2)
|
341
|
+
down, pvalue_down, pfp_down = scores_down[gene].values_at(0,1,2)
|
342
|
+
query_up = genes_up.include? gene
|
343
|
+
query_down = genes_down.include? gene
|
344
|
+
syn = synonyms[gene].join(", ")
|
345
|
+
|
346
|
+
[gene, up, pvalue_up, pfp_up, down, pvalue_down, pfp_down, query_up, query_down, syn]
|
347
|
+
}
|
348
|
+
id_name = (WS::cross_platform?(job) ? Organism.supported_ids(WS::info(job)[:organism]).first : 'ID' )
|
349
|
+
header = [id_name,'RP up log-score','RP up p-value', 'RP up pfp', 'RP down log-score','RP down p-value', 'RP down pfp', 'Present in the up query list','Present in the down query list', 'Synonyms']
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
Open.write(filename + '.tsv',
|
354
|
+
'#' + header.join("\t") + "\n" +
|
355
|
+
rows.collect{|row| row.join("\t")}.join("\n")
|
356
|
+
)
|
357
|
+
|
358
|
+
book = Spreadsheet::Workbook.new
|
359
|
+
sheet = book.create_worksheet :name => 'RankProduct'
|
360
|
+
sheet.row(0).concat header
|
361
|
+
|
362
|
+
rows.each_with_index{|row, i|
|
363
|
+
sheet.row(i + 1).concat row
|
364
|
+
}
|
365
|
+
|
366
|
+
book.write( filename + '.xls')
|
367
|
+
end
|
368
|
+
[filename + '.tsv', filename + '.xls']
|
369
|
+
|
370
|
+
end
|
371
|
+
end
|
372
|
+
end
|
373
|
+
|
374
|
+
module Info
|
375
|
+
|
376
|
+
@@gpl = {}
|
377
|
+
Dir.glob(File.join(MARQ.datadir,'GEO') + '/GPL*/*/*.values').each{|f|
|
378
|
+
gpl, gds = f.match(/(GPL\d+).*(G.*)\.values/).values_at(1,2)
|
379
|
+
@@gpl[gds] = gpl
|
380
|
+
}
|
381
|
+
|
382
|
+
@@gds_info = {}
|
383
|
+
def self.GDS_info(gds)
|
384
|
+
if @@gds_info[gds].nil?
|
385
|
+
info = GEO::GDS_info(gds)
|
386
|
+
info[:gpl] = @@gpl[gds]
|
387
|
+
@@gds_info[gds] = info
|
388
|
+
end
|
389
|
+
@@gds_info[gds]
|
390
|
+
end
|
391
|
+
|
392
|
+
@@customds_info = {}
|
393
|
+
def self.CustomDS_info(dataset)
|
394
|
+
@@customds_info[dataset] ||= CustomDS::info(dataset)
|
395
|
+
end
|
396
|
+
|
397
|
+
def self.info(dataset)
|
398
|
+
if MARQ.platform_type(dataset) == :GEO
|
399
|
+
GDS_info(dataset)
|
400
|
+
else
|
401
|
+
CustomDS_info(dataset)
|
402
|
+
end
|
403
|
+
end
|
404
|
+
|
405
|
+
|
406
|
+
@@exp = {}
|
407
|
+
def self.parse_experiment(experiment)
|
408
|
+
@@exp[experiment] ||= Hash[*[:gds, :condition, :name].zip(experiment.match(/^(.+?): (.+?): (.*)/).values_at(1,2,3)).flatten]
|
409
|
+
end
|
410
|
+
|
411
|
+
@@lexicon = {}
|
412
|
+
def self.synonyms(org, genes, native = false)
|
413
|
+
if native
|
414
|
+
native = genes
|
415
|
+
else
|
416
|
+
native = ID.translate(org, genes)
|
417
|
+
end
|
418
|
+
@@lexicon[org] ||= Organism.lexicon(org, :flatten => true)
|
419
|
+
synonyms = {}
|
420
|
+
genes.zip(native).each{|p|
|
421
|
+
synonyms[p[0]] = @@lexicon[org][p[1]] || []
|
422
|
+
}
|
423
|
+
synonyms
|
424
|
+
end
|
425
|
+
|
426
|
+
@@translations = {}
|
427
|
+
def self.to_GPL_format(gpl, genes)
|
428
|
+
if @@translations[gpl].nil?
|
429
|
+
@@translations[gpl] = {}
|
430
|
+
`paste '#{File.join(MARQ.datadir, 'GEO', gpl,'codes') }' '#{File.join(MARQ.datadir, 'GEO', gpl,'translations')}'`.each{|l|
|
431
|
+
orig, native = l.chomp.split(/\t/).values_at(0,1)
|
432
|
+
next if native =~ /NO MATCH/
|
433
|
+
@@translations[gpl][native] ||= []
|
434
|
+
@@translations[gpl][native] << orig
|
435
|
+
@@translations[gpl][orig] ||= []
|
436
|
+
@@translations[gpl][orig] << orig
|
437
|
+
}
|
438
|
+
end
|
439
|
+
@@translations[gpl].values_at(*genes).collect{|v| v || []}
|
440
|
+
end
|
441
|
+
|
442
|
+
module GO
|
443
|
+
require 'rbbt/sources/go'
|
444
|
+
|
445
|
+
def self.name(term)
|
446
|
+
Object::GO::id2name(term)
|
447
|
+
end
|
448
|
+
end
|
449
|
+
|
450
|
+
end
|
451
|
+
|
452
|
+
|
Binary file
|