So, I have downloaded some .txt and .csv files containing the raw count data (I am supposed to find out differentially expressed genes and see which genes and up- and down-regulated). I have also downloaded both the .family.soft and the series matrix files as they mentioned they contained metadata - however I'm facing several errors while trying to import them.

And all the tutorials I am trying to follow seem to have premade metadata files and there is no explanation on how this metadata is made.

Please help me in trying to understand what I am doing wrong and how to proceed. I will try to give as much information as I can to the best of my abilities, as I have barely any experience in this field.

  • 1
    $\begingroup$ You may want to add to the post the first ten lines (and if the files are delimited with >10 columns, restrict to just the first 10 columns as well) of each file so people here can see what these files contain. $\endgroup$
    – Ram RS
    Jan 20, 2022 at 15:31

2 Answers 2


A metadata file isn't that large or complicated. If you want to do DE, you must have two treatments? Or two timepoints? Two or more something, and you are comparing samples of one type to another?

It's just a data table where the rownames are the samples, and then a column for, say, treatment. If you have some samples treated, some not, some at day 0, and some at day 5, then you have a column for Day and another column for Treatment. (Depending on what you want to compare to what, you might want another column of Day_Treatment)


I don't expect the soft or matrix files will be useful for you, although it might be possible to pull metadata out of those files if absolutely necessary. I usually only see those for microarray data, so it might be worth double-checking that you do actually have RNASeq data.

I've found the best "quick start" explanation on how to carry out differential expression analysis to be the one for DESeq2. As input, this requires three things:

  1. A count matrix, with samples in columns, genes in rows, and matrix entries being the raw read counts of reads mapped to genes for each sample
  2. A metadata data frame, with rows arranged exactly as in the columns of the count matrix, and fields describing features of each sample
  3. A statistical model / equation that describes the relationship between samples

I have found the equation to be the most complicated to understand, and unfortunately it's very situation dependent. In its simplest form, setting up a DESeq2 data structure would look like this:

dds <- DESeqDataSetFromMatrix(countData = count.mat,
                              colData = metadata.df,
                              design= ~ Condition)

This would be for a situation where all samples were sequenced in the same sequencing run, and only a single characteristic were being compared (e.g. with vs without treatment). The metadata data frame might look something like this:

metadata.df <- data.frame(row.names = colnames(count.mat),
                          Condition = c(rep("treated", 6),
                                        rep("untreated", 6))


Sample01    treated
Sample02    treated
Sample03    treated
Sample04    treated
Sample05    treated
Sample06    treated
Sample07  untreated
Sample08  untreated
Sample09  untreated
Sample010 untreated
Sample011 untreated
Sample012 untreated

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.