Next changeset 1:be91cb6f48e7 (2021-11-26) |
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/music/ commit 08c6fd3885bdfbf8b5c3f4dcc2d04729b577e3e1" |
added:
construct_eset.xml macros.xml scripts/dendrogram.R scripts/estimateprops.R scripts/inspect.R test-data/EMTABesethealthy.subset.rds test-data/GSE50244bulkeset.subset.rds test-data/Mousebulkeset.rds test-data/Mousesubeset.degenesonly2.half.rds test-data/array.tsv test-data/default_output.pdf test-data/dendro.pdf test-data/epith.markers test-data/immune.markers test-data/pheno.tsv |
b |
diff -r 000000000000 -r 2cfd0db49bbc construct_eset.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/construct_eset.xml Sun Sep 12 19:49:12 2021 +0000 |
[ |
b'@@ -0,0 +1,211 @@\n+<tool id="music_construct_eset" name="Construct Expression Set Object" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"\n+ profile="20.05" license="GPL-3.0-or-later" >\n+ <description>Create an ExpressionSet object from tabular and textual data</description>\n+ <macros>\n+ <import>macros.xml</import>\n+ </macros>\n+ <expand macro="requirements" />\n+ <command detect_errors="exit_code"><![CDATA[\n+Rscript --vanilla \'$conf\'\n+]]></command>\n+ <configfiles>\n+ <configfile name="conf" >\n+\n+suppressWarnings(suppressPackageStartupMessages(library(xbioc)))\n+suppressWarnings(suppressPackageStartupMessages(library(MuSiC)))\n+\n+null_str_vec = function(gstr){\n+ tokens = unlist(as.vector(strsplit(gstr, split=",")))\n+ if (length(tokens) == 0){\n+ return(NULL)\n+ }\n+ if (length(tokens) == 1){\n+ return(tokens[[1]])\n+ }\n+ return(tokens)\n+}\n+\n+## Assay Data\n+## F rows of features and S columns of samples\n+## - This file is the only non-optional parameter\n+exprs_file = \'$exprs_file\'\n+exprs = as.matrix(read.table(exprs_file, header = T, sep = "\\t",\n+ row.names = 1, as.is = T))\n+## Phenotype Data\n+## S rows of samples, and V columns of covariates (e.g. sex, age, etc.)\n+pdata = NULL\n+#if \'$pdata_file\':\n+pdata_file = \'$pdata_file\'\n+pdata = read.table(pdata_file, row.names = 1, header = T, sep = "\\t", as.is=T)\n+#end if\n+## Annotation and Feature Data, or just a string for type of chip used\n+annotation = null_str_vec(\'$annotation\')\n+\n+if (all(rownames(pdata) != colnames(exprs))) {\n+ stop("Number of Samples between phenotypes and assays are not the same")\n+}\n+\n+##metadata = data.frame(\n+## labelDescription = c(\n+## "Patient gender",\n+## "Case/Control",\n+## "Tumor progress"),\n+## row.names = c("gender", "type", "score"))\n+metadata = as.data.frame(do.call(rbind, list(\n+#for i, row in enumerate($metadata):\n+ #if i==0\n+ list(ldesc=\'$row.label_desc\', lname=\'$row.row_names\')\n+ #else\n+ ,list(ldesc=\'$row.label_desc\', lname=\'$row.row_names\')\n+ #end if\n+#end for\n+)))\n+metadata\\$labelDescription = unlist(metadata\\$ldesc)\n+rownames(metadata) = unlist(metadata\\$lname)\n+metadata\\$ldesc = NULL\n+metadata\\$lname = NULL\n+\n+if (nrow(metadata)==0) {\n+ metadata = NULL\n+}\n+\n+pheno_data = new("AnnotatedDataFrame", data = pdata, varMetadata = metadata)\n+\n+## Experiment Description -- using the MIAME object\n+experiment_data = new(\n+ "MIAME",\n+ name = null_str_vec(\'$expdata.name\'),\n+ lab = null_str_vec(\'$expdata.lab\'),\n+ contact = null_str_vec(\'$expdata.contact\'),\n+ title = null_str_vec(\'$expdata.title\'),\n+ abstract = null_str_vec(\'$expdata.abstract\'),\n+ url = null_str_vec(\'$expdata.url\'),\n+ other = list(\n+#for i, row in enumerate($expdata.other):\n+ #if i==0\n+ \'$row.field\' = null_str_vec(\'$row.comment\')\n+ #else\n+ ,\'$row.field\' = null_str_vec(\'$row.comment\')\n+ #end if\n+#end for\n+))\n+\n+e_set = ExpressionSet(assayData = exprs,\n+ phenoData = pheno_data,\n+ experimentData = experiment_data,\n+ annotation = annotation)\n+\n+capture.output(print(e_set), file = \'$out_tab\')\n+saveRDS(e_set, file= \'$out_rds\')\n+\n+ </configfile>\n+ </configfiles>\n+ <inputs>\n+ <param name="exprs_file" label="Assay Data" type="data" format="tabular,tsv"\n+ help="F rows of features and S columns of samples. A Tab delimited file, with a header line and the first column has row names." />\n+ <param name="pdata_file" label="Phenotype Data" type="data"\n+ format="tabular,tsv" optional="true"\n+ help="S rows of samples, and V columns of covariates (e.g. sex, age)" />\n+ <param name="annotation" label="Annotation" type="text"\n+ optional="true" help="A string detailing which chip was used" >\n+ <expand macro="validator_text_and_urls" />\n+ </param>\n+ <repeat name="metadata" title'..b' <param name="title" label="Title" type="text" value="" optional="true" >\n+ <expand macro="validator_text_and_urls" />\n+ </param>\n+ <param name="abstract" label="Abstract" type="text" value="" optional="true" >\n+ <expand macro="validator_text_and_urls" />\n+ </param>\n+ <param name="url" label="URL" type="text" value="" optional="true" >\n+ <expand macro="validator_text_and_urls" />\n+ </param>\n+ <repeat name="other" title="Other Fields" min="1">\n+ <param name="field" label="FieldName" type="text" value="notes" >\n+ <expand macro="validator_text_and_urls" />\n+ </param>\n+ <param name="comment" label="Comment" type="text" value="Created in Galaxy" >\n+ <expand macro="validator_text_and_urls" />\n+ </param>\n+ </repeat>\n+ </section>\n+ </inputs>\n+ <outputs>\n+ <data name="out_tab" format="tabular" label="${tool.name} on ${on_string}: General Info" />\n+ <data name="out_rds" format="rdata.eset" label="${tool.name} on ${on_string}: RData ESet Object" />\n+ </outputs>\n+ <tests>\n+ <test expect_num_outputs="2" >\n+ <!-- Values from the manual -->\n+ <param name="exprs_file" value="array.tsv" />\n+ <param name="pdata_file" value="pheno.tsv" />\n+ <param name="annotation" value="hgu95av2" />\n+ <repeat name="metadata" >\n+ <param name="row_names" value="gender" />\n+ <param name="label_desc" value="Patient gender" />\n+ </repeat>\n+ <repeat name="metadata" >\n+ <param name="row_names" value="type" />\n+ <param name="label_desc" value="Case/control status" />\n+ </repeat>\n+ <repeat name="metadata" >\n+ <param name="row_names" value="score" />\n+ <param name="label_desc" value="Tumor Progress on XYZ scale" />\n+ </repeat>\n+ <section name="expdata">\n+ <param name="name" value="Pierre Fermat" />\n+ <param name="lab" value="Francis Galton Lab" />\n+ <param name="contact" value="pfermat@lab.not.exist" />\n+ <param name="title" value="Smoking-Cancer Experiment" />\n+ <param name="abstract" value="An example ExpressionSet" />\n+ <param name="url" value="www.lab.not.exist" />\n+ <repeat name="other" >\n+ <param name="field" value="notes" />\n+ <param name="comment" value="Created in Galaxy" />\n+ </repeat>\n+ <repeat name="other" >\n+ <param name="field" value="general" />\n+ <param name="comment" value="Some other comment" />\n+ </repeat>\n+ </section>\n+ <output name="out_tab">\n+ <assert_contents>\n+ <has_text text="assayData: 3 features, 2 samples " />\n+ </assert_contents>\n+ </output>\n+ </test>\n+ </tests>\n+ <help><![CDATA[\n+Construct an ExpressionSet object from a variety of input attributes, such as experimentData, phenotype data, and annotations.\n+\n+For more options and information, consult `the manual <http://www.bioconductor.org/packages/release/bioc/vignettes/Biobase/inst/doc/ExpressionSetIntroduction.pdf>`_ and the `rdocumentation <https://www.rdocumentation.org/packages/Biobase/versions/2.32.0/topics/ExpressionSet>`_\n+.\n+ ]]></help>\n+ <citations>\n+ <citation type="bibtex">\n+ @misc{falcon2007introduction,\n+ title={An introduction to bioconductor\xe2\x80\x99s expressionset class},\n+ author={Falcon, Seth and Morgan, Martin and Gentleman, Robert},\n+ year={2007}\n+ }\n+ </citation>\n+ </citations>\n+</tool>\n\\ No newline at end of file\n' |
b |
diff -r 000000000000 -r 2cfd0db49bbc macros.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Sun Sep 12 19:49:12 2021 +0000 |
[ |
@@ -0,0 +1,30 @@ +<macros> + <token name="@VERSION_SUFFIX@">0</token> + <!-- The ESet inspector/constructor and MuSiC tool can have + independent Galaxy versions but should reference the same + package version always. --> + <token name="@TOOL_VERSION@">0.1.1</token> + <xml name="requirements"> + <requirements> + <requirement type="package" version="@TOOL_VERSION@" >music-deconvolution</requirement> + <requirement type="package" version="0.9.3" >r-cowplot</requirement> + <requirement type="package" version="1.4.4" >r-reshape2</requirement> + </requirements> + </xml> + <xml name="validator_index_identifiers" > + <validator type="regex" message="FORMAT terms separated by commas">^(([A-Za-z0-9+_ -]+)\s?,?)*$</validator> + </xml> + <xml name="validator_text" > + <validator type="regex" message="No commas allowed">^(([A-Za-z0-9+_ -]+)\s?)*$</validator> + </xml> + <xml name="celltypes_macro" > + <param name="celltypes" type="text" optional="true" value="" + label="Comma list of cell types to use from scRNA dataset" help="If NULL, then use all cell types." > + <expand macro="validator_index_identifiers" /> + </param> + </xml> + <xml name="validator_text_and_urls" > + <validator type="regex" message="No commas or apostrophes allowed">^(([A-Za-z0-9+_ -@.:/]+)\s?)*$</validator> + </xml> +</macros> + |
b |
diff -r 000000000000 -r 2cfd0db49bbc scripts/dendrogram.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/dendrogram.R Sun Sep 12 19:49:12 2021 +0000 |
[ |
@@ -0,0 +1,83 @@ +## +suppressWarnings(suppressPackageStartupMessages(library(xbioc))) +suppressWarnings(suppressPackageStartupMessages(library(MuSiC))) +suppressWarnings(suppressPackageStartupMessages(library(reshape2))) +suppressWarnings(suppressPackageStartupMessages(library(cowplot))) +## We use this script to generate a clustering dendrogram of cell +## types, using the prior labelling from scRNA. + +read_list <- function(lfile) { + if (lfile == "None") { + return(NULL) + } + return(read.table(file = lfile, header = FALSE, + stringsAsFactors = FALSE)$V1) +} + +args <- commandArgs(trailingOnly = TRUE) +source(args[1]) + +## We then perform bulk tissue cell type estimation with pre-grouping +## of cell types: C, list_of_cell_types, marker genes name, marker +## genes list. +## data.to.use = list( +## "C1" = list(cell.types = c("Neutro"), +## marker.names=NULL, +## marker.list=NULL), +## "C2" = list(cell.types = c("Podo"), +## marker.names=NULL, +## marker.list=NULL), +## "C3" = list(cell.types = c("Endo","CD-PC","LOH","CD-IC","DCT","PT"), +## marker.names = "Epithelial", +## marker.list = read_list("../test-data/epith.markers")), +## "C4" = list(cell.types = c("Macro","Fib","B lymph","NK","T lymph"), +## marker.names = "Immune", +## marker.list = read_list("../test-data/immune.markers")) +## ) +grouped_celltypes <- lapply(data.to.use, function(x) { + x$cell.types +}) +marker_groups <- lapply(data.to.use, function(x) { + x$marker.list +}) +names(marker_groups) <- names(data.to.use) + + +## Perform the estimation +## Produce the first step information +sub.basis <- music_basis(scrna_eset, clusters = celltypes_label, + samples = samples_label, + select.ct = celltypes) + +## Plot the dendrogram of design matrix and cross-subject mean of +## realtive abundance +par(mfrow = c(1, 2)) +d <- dist(t(log(sub.basis$Disgn.mtx + 1e-6)), method = "euclidean") +## Hierarchical clustering using Complete Linkage +hc1 <- hclust(d, method = "complete") +## Plot the obtained dendrogram +plot(hc1, cex = 0.6, hang = -1, main = "Cluster log(Design Matrix)") +d <- dist(t(log(sub.basis$M.theta + 1e-8)), method = "euclidean") +## Hierarchical clustering using Complete Linkage +hc2 <- hclust(d, method = "complete") +## Plot the obtained dendrogram +pdf(file = outfile_pdf, width = 8, height = 8) +plot(hc2, cex = 0.6, hang = -1, main = "Cluster log(Mean of RA)") + +cl_type <- as.character(scrna_eset[[celltypes_label]]) + +for (cl in seq_len(length(grouped_celltypes))) { + cl_type[cl_type %in% grouped_celltypes[[cl]]] <- names(grouped_celltypes)[cl] +} +pData(scrna_eset)[[clustertype_label]] <- factor( + cl_type, levels = c(names(grouped_celltypes), + "CD-Trans", "Novel1", "Novel2")) + +est_bulk <- music_prop.cluster( + bulk.eset = bulk_eset, sc.eset = scrna_eset, + group.markers = marker_groups, clusters = celltypes_label, + groups = clustertype_label, samples = samples_label, + clusters.type = grouped_celltypes) + +write.table(est_bulk, file = outfile_tab, quote = F, col.names = NA, sep = "\t") +dev.off() |
b |
diff -r 000000000000 -r 2cfd0db49bbc scripts/estimateprops.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/estimateprops.R Sun Sep 12 19:49:12 2021 +0000 |
[ |
@@ -0,0 +1,93 @@ +suppressWarnings(suppressPackageStartupMessages(library(xbioc))) +suppressWarnings(suppressPackageStartupMessages(library(MuSiC))) +suppressWarnings(suppressPackageStartupMessages(library(reshape2))) +suppressWarnings(suppressPackageStartupMessages(library(cowplot))) +## We use this script to estimate the effectiveness of proportion methods + +## Load Conf +args <- commandArgs(trailingOnly = TRUE) +source(args[1]) + +## Estimate cell type proportions +est_prop <- music_prop( + bulk.eset = bulk_eset, sc.eset = scrna_eset, + clusters = celltypes_label, + samples = samples_label, select.ct = celltypes, verbose = T) + + +## Show different in estimation methods +## Jitter plot of estimated cell type proportions +jitter.fig <- Jitter_Est( + list(data.matrix(est_prop$Est.prop.weighted), + data.matrix(est_prop$Est.prop.allgene)), + method.name = methods, title = "Jitter plot of Est Proportions") + + +## Make a Plot +## A more sophisticated jitter plot is provided as below. We separated +## the T2D subjects and normal subjects by their HbA1c levels. +m_prop <- rbind(melt(est_prop$Est.prop.weighted), + melt(est_prop$Est.prop.allgene)) + +colnames(m_prop) <- c("Sub", "CellType", "Prop") + +m_prop$CellType <- factor(m_prop$CellType, levels = celltypes) # nolint +m_prop$Method <- factor(rep(methods, each = 89 * 6), levels = methods) # nolint +m_prop$HbA1c <- rep(bulk_eset$hba1c, 2 * 6) # nolint +m_prop <- m_prop[!is.na(m_prop$HbA1c), ] +m_prop$Disease <- factor(sample_groups[(m_prop$HbA1c > 6.5) + 1], # nolint + levels = sample_groups) + +m_prop$D <- (m_prop$Disease == # nolint + sample_disease_group) / sample_disease_group_scale +m_prop <- rbind(subset(m_prop, Disease == healthy_phenotype), + subset(m_prop, Disease != healthy_phenotype)) + +jitter.new <- ggplot(m_prop, aes(Method, Prop)) + + geom_point(aes(fill = Method, color = Disease, stroke = D, shape = Disease), + size = 2, alpha = 0.7, + position = position_jitter(width = 0.25, height = 0)) + + facet_wrap(~ CellType, scales = "free") + + scale_colour_manual(values = c("white", "gray20")) + + scale_shape_manual(values = c(21, 24)) + theme_minimal() + +## Plot to compare method effectiveness +## Create dataframe for beta cell proportions and HbA1c levels +m_prop_ana <- data.frame(pData(bulk_eset)[rep(1:89, 2), phenotype_factors], + ct.prop = c(est_prop$Est.prop.weighted[, 2], + est_prop$Est.prop.allgene[, 2]), + Method = factor(rep(methods, each = 89), + levels = methods)) +colnames(m_prop_ana)[1:4] <- phenotype_factors +m_prop_ana <- subset(m_prop_ana, !is.na(m_prop_ana[phenotype_gene])) +m_prop_ana$Disease <- factor(sample_groups[( # nolint + m_prop_ana[phenotype_gene] > 6.5) + 1], sample_groups) +m_prop_ana$D <- (m_prop_ana$Disease == # nolint + sample_disease_group) / sample_disease_group_scale + +jitt_compare <- ggplot(m_prop_ana, aes_string(phenotype_gene, "ct.prop")) + + geom_smooth(method = "lm", se = FALSE, col = "black", lwd = 0.25) + + geom_point(aes(fill = Method, color = Disease, stroke = D, shape = Disease), + size = 2, alpha = 0.7) + facet_wrap(~ Method) + + ggtitle(compare_title) + theme_minimal() + + scale_colour_manual(values = c("white", "gray20")) + + scale_shape_manual(values = c(21, 24)) + + +pdf(file = outfile_pdf, width = 8, height = 8) +plot_grid(jitter.fig, jitter.new, labels = "auto", ncol = 1, nrow = 2) +jitt_compare +dev.off() + +## Summary table +for (meth in methods) { + ##lm_beta_meth = lm(ct.prop ~ age + bmi + hba1c + gender, data = + ##subset(m_prop_ana, Method == meth)) + lm_beta_meth <- lm(as.formula( + paste("ct.prop", paste(phenotype_factors, collapse = " + "), + sep = " ~ ")), + data = subset(m_prop_ana, Method == meth)) + print(paste0("Summary: ", meth)) + capture.output(summary(lm_beta_meth), + file = paste0("report_data/summ_", meth, ".txt")) +} |
b |
diff -r 000000000000 -r 2cfd0db49bbc scripts/inspect.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/inspect.R Sun Sep 12 19:49:12 2021 +0000 |
[ |
@@ -0,0 +1,25 @@ + +suppressWarnings(suppressPackageStartupMessages(library(xbioc))) +suppressWarnings(suppressPackageStartupMessages(library(MuSiC))) + +args <- commandArgs(trailingOnly = TRUE) +source(args[1]) + +printout <- function(text) { + if (typeof(text) %in% c("list", "vector")) { + write.table(text, file = outfile_tab, quote = F, sep = "\t", + col.names = NA) + } else { + ## text + capture.output(text, file = outfile_tab) # nolint + } +} + +if (inspector %in% c("print", "pData", "fData", "dims", "experimentData", + "exprs", "signature", "annotation", "abstract")) { + op <- get(inspector) + tab <- op(rds_eset) + printout(tab) +} else { + stop(paste0("No such option:", inspector)) +} |
b |
diff -r 000000000000 -r 2cfd0db49bbc test-data/EMTABesethealthy.subset.rds |
b |
Binary file test-data/EMTABesethealthy.subset.rds has changed |
b |
diff -r 000000000000 -r 2cfd0db49bbc test-data/GSE50244bulkeset.subset.rds |
b |
Binary file test-data/GSE50244bulkeset.subset.rds has changed |
b |
diff -r 000000000000 -r 2cfd0db49bbc test-data/Mousebulkeset.rds |
b |
Binary file test-data/Mousebulkeset.rds has changed |
b |
diff -r 000000000000 -r 2cfd0db49bbc test-data/Mousesubeset.degenesonly2.half.rds |
b |
Binary file test-data/Mousesubeset.degenesonly2.half.rds has changed |
b |
diff -r 000000000000 -r 2cfd0db49bbc test-data/array.tsv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/array.tsv Sun Sep 12 19:49:12 2021 +0000 |
b |
@@ -0,0 +1,4 @@ + Sample1 Sample2 +Gene1 1 3 +Gene2 2 4 +Gene3 3 5 |
b |
diff -r 000000000000 -r 2cfd0db49bbc test-data/default_output.pdf |
b |
Binary file test-data/default_output.pdf has changed |
b |
diff -r 000000000000 -r 2cfd0db49bbc test-data/dendro.pdf |
b |
Binary file test-data/dendro.pdf has changed |
b |
diff -r 000000000000 -r 2cfd0db49bbc test-data/epith.markers --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/epith.markers Sun Sep 12 19:49:12 2021 +0000 |
b |
b'@@ -0,0 +1,2614 @@\n+Rp1\n+Sox17\n+1700034P13Rik\n+Prex2\n+Sulf1\n+Xkr9\n+Eya1\n+Sbspon\n+D030040B21Rik\n+Crispld1\n+Il17f\n+Mcm3\n+Kcnq5\n+Col19a1\n+Khdrbs2\n+Bend6\n+Gm37233\n+Sema4c\n+Fam178b\n+Chst10\n+Il1r2\n+Il1rl1\n+Gm37623\n+Fhl2\n+Gm29040\n+Col3a1\n+Stat4\n+Gm28551\n+Hecw2\n+Ankrd44\n+4930558J18Rik\n+Aox2\n+Als2cr12\n+Cdk15\n+Fzd7\n+Icos\n+Pard3bos3\n+Nrp2\n+Gm4208\n+Klf7\n+Cryga\n+Fn1\n+Tmem169\n+Igfbp2\n+Igfbp5\n+6030407O03Rik\n+Catip\n+Slc11a1\n+Prkag3\n+Wnt6\n+Wnt10a\n+Des\n+Tmem198\n+BC035947\n+Mogat1\n+5730419F03Rik\n+Serpine2\n+Fam124b\n+Dock10\n+Pid1\n+C130026I21Rik\n+A530032D15Rik\n+A530040E14Rik\n+Sp110\n+Sp100\n+A630001G21Rik\n+2810459M11Rik\n+Kcnj13\n+Inpp5d\n+Ugt1a8\n+Ugt1a6a\n+Ugt1a1\n+Gm29336\n+4930434B07Rik\n+Ackr3\n+Gm28723\n+Gm26683\n+Agxt\n+Pdcd1\n+St8sia4\n+Slco4c1\n+Panct2\n+Pam\n+Gm29012\n+Tnfrsf11a\n+Serpinb2\n+Cntnap5a\n+Sctr\n+Lypd1\n+Tmem163\n+Thsd7b\n+C4bp\n+Gm15848\n+Ctse\n+Tmcc2\n+Gm19461\n+Chil1\n+Syt2\n+Ptpn7\n+Lmod1\n+Gm38399\n+Phlda3\n+Igfn1\n+Cacna1s\n+Kif14\n+Atp6v1g3\n+Crb1\n+Cfh\n+B3galt2\n+Rgs2\n+Rgs18\n+Ptgs2\n+1700025G04Rik\n+Ncf2\n+Nmnat2\n+Rgs16\n+Cacna1e\n+Ier5\n+Tdrd5\n+Nphs2\n+Angptl1\n+4930439D14Rik\n+Astn1\n+Pappa2\n+Gm37083\n+Fasl\n+Dnm3os\n+Gm16548\n+Xcl1\n+Rcsd1\n+Cd247\n+Fam78b\n+Lrrc52\n+Rxrg\n+Rgs5\n+Sh2d1b1\n+Olfml2b\n+Fcrla\n+Gm38204\n+Gm10522\n+Fcgr4\n+Pcp4l1\n+Cd244\n+Slamf7\n+Cd48\n+Cd84\n+Slamf6\n+Atp1a4\n+Atp1a2\n+Slamf8\n+Apcs\n+Aim2\n+Gm4955\n+BC094916\n+Pydc3\n+AI607873\n+Ifi204\n+Mndal\n+Mnda\n+Ifi203\n+Ifi202b\n+Ifi205\n+Grem2\n+Akt3\n+2310043L19Rik\n+Kif26b\n+Lefty1\n+1700047M11Rik\n+Hlx\n+Mark1\n+Kcnk2\n+Gm28172\n+Prox1os\n+Vash2\n+Gm38037\n+Rd3\n+Kcnh1\n+Sertad4\n+Traf3ip3\n+4930570N18Rik\n+Lamb3\n+Cd34\n+Cr2\n+Meig1\n+Ccdc3\n+Camk1d\n+Proser2\n+Proser21\n+Itih2\n+Itga8\n+Vim\n+Tmem236\n+Mrc1\n+Malrd1\n+Nebl\n+4930426L09Rik\n+Armc3\n+Tbpl2\n+Il1f9\n+Il1f5\n+Il1rn\n+Entpd8\n+4933433C11Rik\n+Sapcd2\n+Fcnaos\n+Obp2a\n+Kcnt1\n+1810012K08Rik\n+Gm13563\n+Notch1\n+Egfl7\n+Snhg7os\n+Lcn4\n+Stkld1\n+Slc2a6\n+Sardhos\n+Col5a1\n+Olfm1\n+Ak8\n+Pkn3\n+Gm28035\n+Gm14486\n+Ptges\n+Lcn2\n+Gm13412\n+St6galnac4\n+Eng\n+Phf19\n+Stom\n+Ggta1\n+Gm13431\n+Crb2\n+Lhx2\n+Lrp1b\n+Kynu\n+Gm13470\n+Gm13499\n+1700057H21Rik\n+Neb\n+Rprm\n+Kcnj3\n+Pla2r1\n+Kcnh7\n+Scn7a\n+B3galt1\n+Nostrin\n+Gad1\n+Rapgef4\n+Gm28793\n+Gm28230\n+2600014E21Rik\n+Ttc30a2\n+Pde11a\n+Itga4\n+Prdx6b\n+Fam171b\n+Calcrl\n+Tfpi\n+Serping1\n+Slc43a1\n+Slc43a3\n+Aplnr\n+Creb3l1\n+2900072N19Rik\n+Gm13814\n+Chst1\n+Gm10804\n+Gm13889\n+E530001K10Rik\n+Elf5\n+Lmo2\n+D430041D05Rik\n+Pin1rt1\n+Wt1\n+Bdnf\n+Gm13936\n+3110099E03Rik\n+Meis2\n+2700033N17Rik\n+Tmco5\n+Rasgrp1\n+Rad51\n+Dll4\n+Chac1\n+Ehd4\n+Stard9\n+Epb42\n+Map1a\n+B2m\n+Duox1\n+Slc28a2\n+AA467197\n+Sema6d\n+Slc12a1\n+Fbn1\n+Shc4\n+Atp8b4\n+Ncaph\n+Kcnip3\n+Acoxl\n+Gm14029\n+Tgm3\n+Slc4a11\n+Gfra4\n+Adam33\n+Siglec1\n+Hspa12b\n+Gm14102\n+Bmp2\n+Bfsp1\n+Ralgapa2\n+Thbd\n+Cd93\n+Gm21994\n+Cst7\n+Nanp\n+Tcf15\n+Defb36\n+Rem1\n+Id1\n+Cox4i2\n+Dusp15\n+Ttll9\n+Ccm2l\n+Hck\n+Necab3\n+1700003F12Rik\n+4930519P11Rik\n+Gm14226\n+2310005A03Rik\n+Gssos2\n+Gssos1\n+Procr\n+Gm16098\n+Gm14168\n+Myl9\n+Tldc2\n+Mroh8\n+D630003M21Rik\n+Lbp\n+Snhg11\n+Ptprt\n+Tox2\n+Jph2\n+R3hdml\n+Ada\n+Kcns1\n+Pltp\n+Mmp9\n+Slc12a5\n+Cd40\n+Cdh22\n+Ocstamp\n+Eya2\n+Gm11464\n+Gm11466\n+Gm11468\n+5031425F14Rik\n+Prex1\n+Kcnb1\n+Gm14320\n+Gm14235\n+Tshz2\n+Cass4\n+Spo11\n+Ctcfl\n+Zbp1\n+Zfp831\n+Edn3\n+Gm14434\n+Sycp2\n+Hrh3\n+Gata5\n+Col9a3\n+Ptk6\n+Srms\n+BC051628\n+Helz2\n+Zbtb46\n+Sox18\n+Was\n+Sytl5\n+Tspan7\n+Gm10489\n+Nyx\n+Gpr34\n+Timp1\n+Slc6a14\n+Zcchc12\n+Rhox8\n+Sh2d1a\n+Smarca1\n+Hs6st2\n+4930502E18Rik\n+Xlr\n+Gm773\n+Adgrg4\n+Fgf13\n+Slitrk4\n+Fmr1nb\n+Aff2\n+Prrg3\n+Gabre\n+Xlr5c\n+Bgn\n+Dusp9\n+Pnck\n+Srpk3\n+L1cam\n+Avpr2\n+Tktl1\n+Gab3\n+F8\n+Gm15063\n+Gm7173\n+Mageb16\n+Tmem47\n+Gm14762\n+5430427O19Rik\n+F630028O10Rik\n+Kif4\n+Il2rg\n+Cxcr3\n+Ercc6l\n+Dmrtc1a\n+Cdx4\n+Fgf16\n+Cysltr1\n+Lpar4\n+P2ry10\n+A630033H20Rik\n+Gpr174\n+Itm2a\n+Rps6ka6\n+Pcdh19\n+Btk\n+Tceal5\n+Nup62cl\n+Frmpd3\n+Vsig1\n+Gucy2f\n+Pak3\n+Trpc5\n+Zcchc16\n+Lhfpl1\n+Lrch2\n+Alas2\n+Tro\n+Kctd12b\n+4930524N10Rik\n+Cnksr2\n+Gm15241\n+Scml2\n+Bmx\n+Pir\n+Egfl6\n+Tmsb4x\n+Frmpd4\n+Gm15726\n+Hnf4g\n+Gm37350\n+Stmn2\n+Hey1\n+C030034L19Rik\n+Gm9833\n+Fabp4\n+Fabp12\n+Gm38303\n+A930001A20Rik\n+Gm9733\n+Sirpb1a\n+Sirpb1b\n+Sirpb1c\n+Gm5150\n+Bhlhe22\n+Cyp7b1\n+Cp\n+Nlgn1\n+1700125G22Rik\n+Tnik\n+Gm33051\n+Egfem1\n+Actrt3\n+Pex5l\n+Mccc1os\n+Trpc3\n+Fat4\n+Pabpc4l\n+Pcdh18\n+Slc7a11\n+Mgst'..b'sr2\n+4930426I24Rik\n+Fam71d\n+Tmem229b\n+Galnt16\n+Acot3\n+Acot5\n+Acot6\n+Dnal1\n+Pgf\n+Batf\n+Gm26531\n+Tgfb3\n+Nrxn3\n+Tshr\n+Gpr68\n+Ccdc88c\n+Fbln5\n+Asb2\n+Ifi27l2a\n+Serpina1b\n+Serpina1d\n+Serpina1c\n+Serpina3f\n+Serpina3g\n+Serpina3n\n+Ak7\n+Dlk1\n+Meg3\n+Dio3\n+Exoc3l4\n+Kif26a\n+Inf2\n+Ahnak2\n+Gpr132\n+Jag2\n+9230104M06Rik\n+Tex22\n+Crip1\n+Ptprn2\n+Rapgef5\n+Macc1\n+Ccdc152\n+Plcxd3\n+Gm16311\n+Osmr\n+C1qtnf3\n+Slc45a2\n+Npr3\n+Basp1\n+Ank\n+Ctnnd2\n+Matn2\n+Gm10384\n+Trhr\n+Aard\n+Samd12\n+Tnfrsf11b\n+Col14a1\n+Sntb1\n+Klhl38\n+Anxa13\n+Pvt1\n+Tmem71\n+Tg\n+Sla\n+Gm17035\n+St3gal1\n+Gm20732\n+Ptp4a3\n+Psca\n+Lypd2\n+Ly6d\n+Ly6c1\n+Ly6c2\n+BC025446\n+Ly6f\n+Gpihbp1\n+Gsdmd\n+Slc39a4\n+Apol9a\n+Apol10b\n+Apol9b\n+Pvalb\n+Csf2rb2\n+Csf2rb\n+Cyth4\n+Mfng\n+Slc16a8\n+Kdelr3\n+Nptxr\n+Pdgfb\n+Grap2\n+Dnajb7\n+Tnfrsf13c\n+Sept3\n+Cyp2d11\n+Cyp2d10\n+Nfam1\n+Pnpla3\n+Parvb\n+Parvg\n+Upk3a\n+Fbln1\n+Mapk12\n+Mapk11\n+Odf3b\n+Shank3\n+Abcd2\n+Slc2a13\n+Pdzrn4\n+Prickle1\n+Tmem117\n+Endou\n+Ccdc184\n+Ddn\n+Dhh\n+Troap\n+Dnajc22\n+Fam186b\n+Aqp2\n+Aqp6\n+Racgap1\n+Asic1\n+Galnt6\n+Scn8a\n+Acvrl1\n+A330009N23Rik\n+Grasp\n+Krt80\n+Krt5\n+Igfbp6\n+Rarg\n+Espl1\n+Nfe2\n+Gpr84\n+Itga5\n+Mefv\n+4930451G09Rik\n+AU021092\n+Tekt5\n+Tnp2\n+Snn\n+Tnfrsf17\n+Ifitm7\n+2900011O08Rik\n+Myh11\n+Snai2\n+Igll1\n+2610318N02Rik\n+Serpind1\n+Scarf2\n+Rtn4r\n+Gp1bb\n+Cldn5\n+2010309G21Rik\n+Lamp3\n+B3gnt5\n+Klhl6\n+Thpo\n+Chrd\n+Gm16863\n+Crygs\n+Fetub\n+Hrg\n+BC106179\n+St6gal1\n+Rtp4\n+Cldn16\n+Tmem207\n+Fgf12\n+Atp13a4\n+Tmem44\n+Nrros\n+Muc20\n+Slc12a8\n+Heg1\n+Adcy5\n+Pdia5\n+Sema5b\n+Parp14\n+Stfa2l1\n+BC100530\n+Hcls1\n+Popdc2\n+Pla1a\n+Arhgap31\n+Upk1b\n+Lsamp\n+Zdhhc23\n+Sidt1\n+Boc\n+Cd200r4\n+Cd200r3\n+Ccdc80\n+Btla\n+Gcsam\n+Tmprss7\n+Gm15638\n+Cd96\n+Alcam\n+Abi3bp\n+Gm16892\n+Filip1l\n+Cadm2\n+Robo2\n+Samsn1\n+D16Ertd472e\n+Jam2\n+Cyyr1\n+Adamts1\n+Adamts5\n+Eva1c\n+4930563D23Rik\n+Kcne1\n+Runx1\n+Cldn14\n+Sim2\n+Ripply3\n+Erg\n+Bace2\n+3300005D01Rik\n+Gm1604a\n+Gm17087\n+Agpat4\n+Mas1\n+Tcp10b\n+Smoc2\n+Thbs2\n+Fpr1\n+Fpr2\n+Cldn9\n+9530082P21Rik\n+Sbp\n+Prss30\n+Prss22\n+Tbc1d24\n+Bricd5\n+Slc9a3r2\n+Meiob\n+Tmem204\n+Baiap3\n+Sox8\n+Nhlrc4\n+A930017K11Rik\n+D630044L22Rik\n+Ip6k3\n+Pacsin1\n+Spdef\n+Gm15597\n+Tcp11\n+4930539E08Rik\n+Trp53cor1\n+Cdkn1a\n+Rab44\n+Pi16\n+Gm28043\n+Dnah8\n+Tff3\n+Tff2\n+Hsf2bp\n+Rasal3\n+Pglyrp2\n+Cyp4f15\n+Actl9\n+Myo1f\n+Kank3\n+Kifc1\n+Platr17\n+Psmb9\n+Psmb8\n+H2-Ob\n+H2-Eb2\n+Notch4\n+Gpsm3\n+Prrt1\n+Gm20461\n+Tnxb\n+Vwa7\n+Sapcd1\n+Lst1\n+Tnf\n+H2-D1\n+H2-Q1\n+H2-Q4\n+H2-Q6\n+H2-Q7\n+2300002M23Rik\n+Gm20443\n+Ppp1r18\n+H2-T24\n+2410017I17Rik\n+Zfp57\n+Ubd\n+H2-M3\n+9130008F23Rik\n+Adgrf1\n+Adgrf5\n+Mep1a\n+Rcan2\n+Clic5\n+Runx2\n+Runx2os1\n+Tmem151b\n+Capn11\n+Slc22a7\n+Mdfi\n+9830107B12Rik\n+A530064D06Rik\n+Trem3\n+Treml4\n+Treml2\n+B430306N03Rik\n+Trem2\n+Unc5cl\n+Kif6\n+Rftn1\n+Gm19585\n+Adgre4\n+Shd\n+Lrg1\n+Sema6b\n+Tnfaip8l1\n+Tnfsf14\n+C3\n+Vav1\n+Adgre1\n+Arhgap28\n+Gm20703\n+Gm26510\n+Emilin2\n+Ndc80\n+Clip4\n+Lbh\n+Ehd3\n+Srd5a2\n+Nlrc4\n+Ltbp1\n+Rasgrp3\n+Cyp1b1\n+Plekhh2\n+Epas1\n+Ston1\n+Bambi\n+Map3k8\n+9430020K01Rik\n+Zeb1\n+Mkx\n+Colec12\n+4930563E18Rik\n+Gata6\n+Psma8\n+Aqp4\n+Mep1b\n+Ccdc178\n+Celf4\n+Gm16344\n+Gypc\n+Tslp\n+Cdc25c\n+Reep2\n+Ecscr\n+Slc4a9\n+Eif4ebp3\n+Pcdhb4\n+Pcdhb8\n+Pcdhb12\n+Pcdhb20\n+Slc25a2\n+Pcdhga4\n+Pcdhga6\n+Pcdhgc5\n+Arap3\n+Pcdh12\n+Spry4\n+2900055J20Rik\n+Dpysl3\n+Spink12\n+Npy6r\n+Mcc\n+Trim36\n+Sema6a\n+1700065O20Rik\n+Lox\n+Sncaip\n+Gm4951\n+Gm4841\n+F830016B08Rik\n+Iigp1\n+Synpo\n+Arsi\n+Pdgfrb\n+Bvht\n+Mir143hg\n+Piezo2\n+Rax\n+Ccbe1\n+Tubb6\n+4930503L19Rik\n+Stard6\n+Gm9925\n+Lipg\n+Pstpip2\n+Slc14a1\n+Sall3\n+Gm27239\n+Gm16146\n+Cd226\n+Aldh3b3\n+Aldh3b2\n+Tbx10\n+BC021614\n+Cabp2\n+Gm960\n+Actn3\n+Cd248\n+Kcnk7\n+Tigd3\n+Naaladl1\n+Batf2\n+Pygm\n+Rasgrp2\n+Kcnk4\n+Fermt3\n+Lgals12\n+Slc22a27\n+Slc22a28\n+Slc22a29\n+Slc22a30\n+Slc22a6\n+Chrm1\n+Syt7\n+Cyb561a3\n+Vwce\n+Pga5\n+Cd5\n+Cd6\n+Slc15a3\n+Ms4a4c\n+Gm37387\n+Ms4a2\n+Mpeg1\n+Gm4952\n+Prune2\n+Trpm6\n+Rorb\n+Anxa1\n+Aldh1a1\n+C330002G04Rik\n+Apba1\n+2610016A17Rik\n+Dmrt2\n+Pdcd1lg2\n+Il33\n+Prkg1\n+Acta2\n+Fas\n+Ch25h\n+Ifit3\n+Ifit3b\n+Ifit1bl2\n+Ifit1\n+A830019P07Rik\n+Ankrd1\n+Hectd2\n+Ppp1r3c\n+Hhex\n+Cep55\n+Ffar4\n+Cyp2c69\n+Pdlim1\n+Entpd1\n+Dntt\n+Arhgap19\n+Sfrp5\n+Loxl4\n+Scd4\n+Wnt8b\n+Gm26644\n+Cyp17a1\n+Calhm2\n+Neurl1a\n+Gm19557\n+Cfap43\n+Sorcs3\n+Sorcs1\n+1700054A03Rik\n+4833407H14Rik\n+Adra2a\n+Afap1l2\n+Slc18a2\n+E330013P04Rik\n+Csprs\n+AC125149.3\n' |
b |
diff -r 000000000000 -r 2cfd0db49bbc test-data/immune.markers --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/immune.markers Sun Sep 12 19:49:12 2021 +0000 |
b |
b'@@ -0,0 +1,8126 @@\n+Sox17\n+Gm37988\n+Gm26901\n+Mybl1\n+1700034P13Rik\n+Sgk3\n+Mcmdc2\n+Tcf24\n+Ppp1r42\n+Prex2\n+Sulf1\n+Xkr9\n+Eya1\n+Rdh10\n+Stau2\n+Ly96\n+Il17f\n+Mcm3\n+Paqr8\n+Tram2\n+Tmem14a\n+Gsta3\n+Khdc1a\n+Kcnq5\n+Gm29107\n+Ogfrl1\n+Col19a1\n+Gm5524\n+Prim2\n+Rab23\n+Bag2\n+Bend6\n+Dst\n+Gm37233\n+Arhgef4\n+Gm38336\n+Neurl3\n+4930403P22Rik\n+Lman2l\n+Cnnm4\n+Ankrd23\n+Sema4c\n+Fam178b\n+Zap70\n+Tmem131\n+Mgat4a\n+2010300C02Rik\n+Tsga10\n+Lipt1\n+Aff3\n+Gm16152\n+Chst10\n+Tbc1d8\n+Rnf149\n+Il1r2\n+Gm16894\n+Il1r1\n+Il1rl2\n+Il1rl1\n+Il18r1\n+Il18rap\n+Slc9a4\n+Slc9a2\n+8430432A02Rik\n+AI597479\n+Fhl2\n+Nck2\n+1500015O10Rik\n+Gm8251\n+Tex30\n+Kdelc1\n+Bivm\n+Ercc5\n+Gulp1\n+Col5a2\n+Wdr75\n+Slc40a1\n+Dnah7b\n+Gm28151\n+Sdpr\n+Nabp1\n+Gm17767\n+Myo1b\n+Stat4\n+Nab1\n+Mfsd6\n+Inpp1\n+1700019D03Rik\n+Pms1\n+Osgepl1\n+Hecw2\n+Pgap1\n+Rftn2\n+Mars2\n+Plcl1\n+Satb2\n+1700066M21Rik\n+Spats2l\n+Sgol2a\n+Aox2\n+Nif3l1\n+Gm15834\n+Als2cr12\n+Trak2\n+Tmem237\n+G730003C15Rik\n+Mpp4\n+Als2\n+Fzd7\n+Gm973\n+Bmpr2\n+Wdr12\n+Cd28\n+Gm11579\n+Ctla4\n+Icos\n+Pard3b\n+Gm4208\n+Ino80dos\n+Gm20342\n+Ccnyl1\n+Fzd5\n+Plekhm3\n+Cryga\n+D630023F18Rik\n+Pikfyve\n+Map2\n+Erbb4\n+Ikzf2\n+Bard1\n+Atic\n+Fn1\n+Mreg\n+D230017M19Rik\n+Tmem169\n+Xrcc5\n+Smarcal1\n+Igfbp5\n+Rufy4\n+Cxcr2\n+Tmbim1\n+Catip\n+Slc11a1\n+Usp37\n+Plcd4\n+Stk36\n+Cyp27a1\n+Wnt6\n+Wnt10a\n+Ihh\n+Nhej1\n+Slc23a3\n+Abcb6\n+Speg\n+Gmppa\n+Chpf\n+Obsl1\n+Tmem198\n+Inha\n+Stk11ip\n+Slc4a3\n+Epha4\n+Sgpp2\n+Farsb\n+Mogat1\n+Acsl3\n+Utp14b\n+Ap1s3\n+Serpine2\n+Fam124b\n+Irs1\n+Rhbdd1\n+Slc19a3\n+Pid1\n+Slc16a14\n+C130026I21Rik\n+A530032D15Rik\n+A530040E14Rik\n+A630001G21Rik\n+Itm2c\n+Gpr55\n+2810459M11Rik\n+Armc9\n+B3gnt7\n+Cops7b\n+Efhd1\n+Kcnj13\n+Ngef\n+Neu2\n+Ugt1a10\n+Ugt1a9\n+Ugt1a7c\n+Ugt1a6a\n+Ugt1a5\n+Ugt1a2\n+Gm29336\n+Arl4c\n+Sh3bp4\n+Ackr3\n+Col6a3\n+Mlph\n+Rab17\n+Ramp1\n+Ube2f\n+Klhl30\n+Per2\n+Asb1\n+Gm26720\n+Otos\n+Gpc1\n+Dusp28\n+5033417F24Rik\n+9430060I03Rik\n+Gpr35\n+Kif1a\n+Sned1\n+Gm28535\n+Pask\n+Hdlbp\n+Farp2\n+Bok\n+Ing5\n+Pdcd1\n+Fam174a\n+Panct2\n+D1Ertd622e\n+Ppip5k2\n+Rnf152\n+Pign\n+Tnfrsf11a\n+Gm7160\n+Zcchc2\n+Bcl2\n+Serpinb2\n+Serpinb10\n+Serpinb8\n+Dsel\n+Cntnap5a\n+Clasp1\n+Tfcp2l1\n+Ralb\n+Gm27184\n+Tmem185b\n+Ptpn4\n+Tmem177\n+Sctr\n+Tmem37\n+3110009E18Rik\n+Steap3\n+Slc35f5\n+Gpr39\n+Lypd1\n+Nckap5\n+Tmem163\n+2900009J06Rik\n+Zranb3\n+Thsd7b\n+Gm15675\n+Cd55\n+Gm29427\n+Pfkfb2\n+AA986860\n+Fcamr\n+Gm15848\n+Pigr\n+Fcmr\n+Mapkapk2\n+Dyrk3\n+Ikbke\n+Srgap2\n+Fam72a\n+Rab7b\n+Pm20d1\n+Rab29\n+Cdk18\n+Klhdc8a\n+Nuak2\n+Tmcc2\n+Dstyk\n+Tmem81\n+Cntn2\n+Pik3c2b\n+Golt1a\n+Ren1\n+Etnk2\n+Gm26706\n+Zc3h11a\n+Gm38394\n+Lax1\n+Atp2b4\n+Chil1\n+Ppfia4\n+Cyb5r1\n+Klhl12\n+Rabif\n+Ube2t\n+Gm15445\n+Elf3\n+Rnpep\n+Lmod1\n+Ipo9\n+Nav1\n+Gm38399\n+Lad1\n+Tmem9\n+Cacna1s\n+Kif21b\n+5730559C18Rik\n+Ddx59\n+Kif14\n+Gm19705\n+A430106G13Rik\n+Atp6v1g3\n+Aspm\n+Cfh\n+B3galt2\n+Trove2\n+Rgs2\n+Rgs1\n+Rgs18\n+Pla2g4a\n+Ptgs2\n+Gm10138\n+Fam129a\n+2810414N06Rik\n+Edem3\n+1700025G04Rik\n+Colgalt2\n+Ncf2\n+Nmnat2\n+Lamc2\n+Npl\n+Rgs16\n+Teddm2\n+A830008E24Rik\n+Cacna1e\n+Gm9530\n+Ier5\n+BC034090\n+Qsox1\n+Fam163a\n+Nphs2\n+Soat1\n+Gm10031\n+Tor3a\n+Ralgps2\n+Angptl1\n+4930439D14Rik\n+Rasal2\n+Sec16b\n+4930523C07Rik\n+Rabgap1l\n+Gm37083\n+Serpinc1\n+Dars2\n+Fasl\n+Suco\n+Dnm3\n+Fmo4\n+BC055324\n+Sell\n+Gm16548\n+F5\n+Slc19a2\n+Gm26685\n+Gm32569\n+Xcl1\n+Gpr161\n+Mpzl1\n+Creg1\n+Cd247\n+Pou2f1\n+Gm15853\n+Pogk\n+Fam78b\n+Uck2\n+Lrrc52\n+Rxrg\n+Nuf2\n+Rgs5\n+3110045C21Rik\n+Gm37748\n+4930500M09Rik\n+Sh2d1b1\n+Gm7694\n+Nos1ap\n+Atf6\n+Gm26620\n+Fcrla\n+Fcgr2b\n+Gm10522\n+Fcgr4\n+Fcgr3\n+Cfap126\n+Pcp4l1\n+Apoa2\n+Fcer1g\n+Klhdc9\n+Pvrl4\n+Usf1\n+Gm26641\n+F11r\n+Cd244\n+Ly9\n+Slamf7\n+Slamf1\n+Gm37065\n+Slamf6\n+Vangl2\n+Ncstn\n+Pea15a\n+Atp1a4\n+Igsf8\n+Atp1a2\n+Kcnj10\n+Pigm\n+Slamf9\n+Igsf9\n+Tagln2\n+Cfap45\n+Vsig8\n+Slamf8\n+Dusp23\n+Aim2\n+BC094916\n+Pydc3\n+AI607873\n+Ifi204\n+Mnda\n+Ifi202b\n+Ifi205\n+Kmo\n+Opn3\n+Chml\n+Exo1\n+Cep170\n+Zbtb18\n+2310043L19Rik\n+1700016C15Rik\n+Gm16432\n+B230369F24Rik\n+Kif26b\n+Cnst\n+Sccpdh\n+Cdc42bpa\n+Gm37336\n+Gm31728\n+Lin9\n+H3f3a\n+Gm17275\n+H3f3aos\n+Pycr2\n+Lefty1\n+Ephx1\n+Cnih4\n+A430110L20Rik\n+Fbxo28\n+Capn2\n+Susd4\n+Disp1\n+Gm37986\n+Dusp10\n+1700056E22Rik\n+Hlx\n+4930532G15Rik\n+Tgfb2\n+A430105J06Rik\n+Esrrg\n+Gm36388\n+Cenpf\n+Ptpn14\n+Smyd2\n+Prox1\n+Gm28172\n+Prox1os\n+Rps6kc1\n+Vash2\n+Mfsd7b\n+Nsl1\n+Batf3\n+Atf3\n+D730003I15Rik\n+Tmem206\n+Gm32200\n+Dtl\n+Lpgat1\n+Gm38037\n+Nek2\n+1700034H1'..b't1\n+Ehd3\n+Xdh\n+Nlrc4\n+Ttc27\n+Ltbp1\n+Rasgrp3\n+Fez2\n+Gm10093\n+Heatr5b\n+Gm26637\n+Qpct\n+Cdc42ep3\n+Gemin6\n+Dhx57\n+Arhgef33\n+Cdkl4\n+Map4k3\n+Thumpd2\n+Slc8a1\n+Gm6594\n+Pkdcc\n+C430042M11Rik\n+Thada\n+Dync2li1\n+1110020A21Rik\n+Prepl\n+Camkmt\n+Srbd1\n+Prkce\n+Epas1\n+Socs5\n+Mcfd2\n+Msh6\n+Ppp1r21\n+Ston1\n+Gm10184\n+Mettl4\n+Gm1976\n+Gm26734\n+Gm20939\n+Kdm5d\n+Gm29650\n+Gm6225\n+Bambi\n+Map3k8\n+9430020K01Rik\n+Svil\n+Zfp438\n+Zeb1\n+Gm28529\n+Fzd8\n+Colec12\n+Gm17430\n+Greb1l\n+Abhd3\n+Mib1\n+Gata6\n+Gm6277\n+Tmem241\n+Gm15956\n+Ankrd29\n+Ttc39c\n+Zfp521\n+Gm5160\n+Psma8\n+Taf4b\n+Kctd1\n+Aqp4\n+Cdh2\n+Dsc2\n+Dsg2\n+Ttr\n+B4galt6\n+Rnf125\n+Mep1b\n+Garem\n+Klhl14\n+4930426D05Rik\n+Asxl3\n+Dtna\n+Gm15972\n+Rprd1a\n+Slc39a6\n+Mocos\n+Fhod3\n+Celf4\n+Sap130\n+Gm26533\n+Gpr17\n+Proc\n+A830052D11Rik\n+Gypc\n+Tslp\n+Wdr36\n+Camk4\n+Nrep\n+Epb41l4a\n+Pkd2l2\n+Nme5\n+4933408B17Rik\n+Kif20a\n+Cdc23\n+Cdc25c\n+Gm3550\n+Gm26538\n+Egr1\n+Ctnna1\n+Sil1\n+Gm5239\n+Gm28285\n+Mzb1\n+Prob1\n+Spata24\n+Ecscr\n+Gm29417\n+Psd2\n+Nrg2\n+Hbegf\n+Slc4a9\n+Eif4ebp3\n+Cd14\n+Tmco6\n+Dnd1\n+Pcdhb17\n+Pcdhb20\n+Slc25a2\n+3222401L13Rik\n+Pcdhgb4\n+Pcdhgb5\n+Pcdhgb6\n+Pcdhga12\n+Pcdhga8.1\n+Pcdhgc5\n+Rell2\n+Fchsd1\n+Arap3\n+Pcdh1\n+1700086O06Rik\n+Pcdh12\n+Spry4\n+Arhgap26\n+2900055J20Rik\n+Prelid2\n+Ppp2r2b\n+Stk32a\n+Dpysl3\n+Mcc\n+Kcnn2\n+Trim36\n+Ccdc112\n+Ticam2\n+Cdo1\n+Commd10\n+Eno1b\n+Srfbp1\n+Lox\n+Sncaip\n+Snx2\n+Snx24\n+Csnk1g3\n+Zfp608\n+Gramd3\n+March3\n+Prrc1\n+Slc12a2\n+Gm4951\n+Gm4841\n+F830016B08Rik\n+Iigp1\n+Smim3\n+Synpo\n+Cd74\n+Arsi\n+Camk2a\n+Pdgfrb\n+Csf1r\n+Pde6a\n+Arhgef37\n+Bvht\n+Pcyox1l\n+Ablim3\n+Sh3tc2\n+Adrb2\n+Gm9949\n+Spink10\n+Wdr7\n+Atp8b1\n+Alpk2\n+Malt1\n+Sec11c\n+Lman1\n+Ccbe1\n+Pmaip1\n+Gnal\n+Mppe1\n+Tubb6\n+Spire1\n+Cep76\n+Ptpn2\n+Gm26910\n+Cep192\n+Ldlrad4\n+Tcf4\n+Ccdc68\n+Rab27b\n+4930503L19Rik\n+Stard6\n+Poli\n+Elac1\n+Me2\n+Mapk4\n+Gm9925\n+Ska1\n+Cfap53\n+Lipg\n+Dym\n+Ctif\n+Katnal2\n+8030462N17Rik\n+Pstpip2\n+Epg5\n+Slc14a1\n+Setbp1\n+Pard6g\n+Rbfa\n+Hsbp1l1\n+Pqlc1\n+Atp9b\n+Sall3\n+Gm27239\n+Mbp\n+Zfp516\n+Socs6\n+Rttn\n+Cd226\n+Ighmbp2\n+Mtl5\n+Lrp5\n+1810055G02Rik\n+Tcirg1\n+Aldh3b1\n+Unc93b1\n+Aldh3b2\n+Tbx10\n+Gstp2\n+BC021614\n+Pitpnm1\n+Coro1b\n+Ptprcap\n+Carns1\n+Gm17552\n+Tbc1d10c\n+Ssh3\n+Ankrd13d\n+Syt12\n+2010003K11Rik\n+Lrfn4\n+Sptbn2\n+Gm21992\n+Rbm4\n+Rbm14\n+Ctsf\n+Zdhhc24\n+Bbs1\n+Peli3\n+Slc29a2\n+Rin1\n+Cd248\n+Tmem151a\n+Cnih2\n+Pacs1\n+Cst6\n+Sart1\n+Ccdc85b\n+Ctsw\n+Efemp2\n+Mus81\n+Snx32\n+1700020D05Rik\n+Ovol1\n+Ap5b1\n+Kat5\n+Kcnk7\n+Ehbp1l1\n+Fam89b\n+Ltbp3\n+Frmd8os\n+Frmd8\n+Slc25a45\n+Tigd3\n+Cdc42ep2\n+Gm10814\n+Syvn1\n+Cdca5\n+Batf2\n+Cdc42bpg\n+Men1\n+Map4k2\n+Pygm\n+Rasgrp2\n+Nrxn2\n+Gm14964\n+Gpr137\n+Fkbp2\n+Trpt1\n+Gm17227\n+AI846148\n+1700105P06Rik\n+2700081O15Rik\n+Slc22a19\n+Slc22a29\n+Chrm1\n+1700092M07Rik\n+Zbtb3\n+Gng3\n+Ints5\n+Rom1\n+Eml3\n+Mta2\n+Tut1\n+Ahnak\n+Pcna-ps2\n+Rab3il1\n+Fads3\n+Fads2\n+Fads1\n+Dagla\n+Syt7\n+Tmem216\n+Cyb561a3\n+Vps37c\n+Cd5\n+Cd6\n+Slc15a3\n+Tmem132a\n+AW112010\n+Ms4a8a\n+Ms4a1\n+Ms4a7\n+Gm28935\n+Ms4a4c\n+Ms4a4b\n+Gm37387\n+Ms4a6c\n+Gm8369\n+Ms4a6b\n+Ms4a6d\n+Ms4a2\n+Stx3\n+Mpeg1\n+Dtx4\n+Gm4952\n+Cep78\n+Gnaq\n+Gna14\n+Vps13a\n+Prune2\n+Anxa1\n+Aldh1a1\n+Aldh1a7\n+Gda\n+1110059E24Rik\n+Abhd17b\n+Tmem2\n+Trpm3\n+C330002G04Rik\n+Ptar1\n+Gm9938\n+Apba1\n+Fam189a2\n+Tjp2\n+Pgm5\n+Cbwd1\n+2610016A17Rik\n+Dmrt2\n+Rfx3\n+Glis3\n+1700018L02Rik\n+Insl6\n+Cd274\n+Pdcd1lg2\n+A930007I19Rik\n+Il33\n+Mbl2\n+A1cf\n+Sgms1\n+2700046G09Rik\n+Rnls\n+Lipo4\n+Lipo1\n+Lipo2\n+Stambpl1\n+Acta2\n+Fas\n+Ch25h\n+Lipa\n+Ifit2\n+Ifit3\n+Ifit1bl1\n+Ifit3b\n+Ifit1\n+Kif20b\n+Hectd2\n+Ppp1r3c\n+Fgfbp3\n+A330032B11Rik\n+Kif11\n+Hhex\n+Cyp26a1\n+Myof\n+Cep55\n+Ffar4\n+Plce1\n+Cyp2c69\n+Pdlim1\n+Sorbs1\n+Aldh18a1\n+Tctn3\n+Ccnj\n+Zfp518a\n+Blnk\n+Dntt\n+Gm340\n+AI606181\n+Arhgap19\n+Frat2\n+Rrp12\n+Ubtd1\n+Hoga1\n+Avpi1\n+Sfrp5\n+Entpd7\n+Cox15\n+Cyp2c44\n+Erlin1\n+Bloc1s2\n+Scd3\n+Scd2\n+Scd4\n+Scd1\n+Sec31b\n+Pax2\n+Fbxw4\n+Gm15491\n+Kcnip2\n+9130011E15Rik\n+Hps6\n+Pprc1\n+Psd\n+Tmem180\n+Sufu\n+Cyp17a1\n+As3mt\n+Pcgf6\n+Calhm2\n+Neurl1a\n+Sh3pxd2a\n+Obfc1\n+Gm19557\n+Slk\n+Cfap43\n+Gsto1\n+Gsto2\n+Sorcs3\n+Mirt1\n+4833407H14Rik\n+Dusp5\n+Nutf2-ps1\n+Rbm20\n+Pdcd4\n+Adra2a\n+Gpam\n+Tcf7l2\n+Nrap\n+Casp7\n+Dclre1a\n+Nhlrc2\n+Adrb1\n+Vwa2\n+Afap1l2\n+Ablim1\n+B230217O12Rik\n+Atrnl1\n+Pnliprp1\n+Hspa12a\n+Shtn1\n+Slc18a2\n+Emx2os\n+Emx2\n+Nanos1\n+Sfxn4\n+Grk5\n+Gm7102\n+Csf2ra\n+Tmlhe\n+Csprs\n+AC125149.3\n+AC168977.1\n+CAAA01147332.1\n' |
b |
diff -r 000000000000 -r 2cfd0db49bbc test-data/pheno.tsv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/pheno.tsv Sun Sep 12 19:49:12 2021 +0000 |
b |
@@ -0,0 +1,3 @@ + gender type score +Sample1 1 3 5 +Sample2 2 4 9 |