{"sci_version":"1.5","schema":"https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json","id":"fork:pmid:27508061:pmid-27508061-from-reads-to-genes-to-pathways-f804cb05","kind":"science-record","revision":2,"content_hash":"sha256:89ea19103aaddafa68668bf0a0e136a6db62f9f7b5bf522b0c5b62d5b53e274a","created_at":"2026-11-04T13:22:05.000000Z","updated_at":"2026-11-04T15:31:17.276166Z","generator":{"name":"automated-assays","session_id":"assays-session-f804cb05-b3cd-4b58-a0a2-9608e8b5289e"},"paper":{"state":"complete","title":"From reads to genes to pathways: differential expression analysis of RNA-Seq experiments using Rsubread and the edgeR quasi-likelihood pipeline","doi":"10.12688/f1000research.8987.2","pmid":"27508061","authors":["Yunshun Chen","Aaron T. L. Lun","Gordon K. Smyth"],"journal":"F1000Research","year":2016,"abstract":"In recent years, RNA sequencing (RNA-seq) has become a very widely used technology for profiling gene expression. One of the most common aims of RNA-seq profiling is to identify genes or molecular pathways that are differentially expressed (DE) between two or more biological conditions. This article demonstrates a computational workflow for the detection of DE genes and pathways from RNA-seq data by providing a complete analysis of an RNA-seq experiment profiling epithelial cell subsets in the mouse mammary gland. The workflow uses R software packages from the open-source Bioconductor project and covers all steps of the analysis pipeline, including alignment of read sequences, data exploration, differential expression analysis, visualization and pathway analysis. Read alignment and count quantification is conducted using the Rsubread package and the statistical analyses are performed using the edgeR package. The differential expression analysis uses the quasi-likelihood functionality of edgeR.","claims":[{"id":"claim-ql-differential-expression","statement":"Between basal lactating and basal pregnant mice, the edgeR quasi-likelihood F-test calls 5245 differentially expressed genes at a false discovery rate of 5%, and the top gene is Csn1s2b with a log2 fold change of 6.08.","kind":"quantitative","target":{"value":5245.0,"unit":"genes called differentially expressed","tolerance":null,"source":"In order to control the false discovery rate (FDR), multiple testing correction is performed using the Benjamini-Hochberg method. The top DE gene Csn1s2b has a large positive logFC, showing that it is far more highly expressed in the basal cells of lactating than pregnant mice. This gene is indeed known to be a major source of protein in milk."},"evidence":[{"asset":"source:pmid:27508061","locator":"sections[12] \"Testing for differential expression\" paragraph 8","quote":"In order to control the false discovery rate (FDR), multiple testing correction is performed using the Benjamini-Hochberg method. The top DE gene Csn1s2b has a large positive logFC, showing that it is far more highly expressed in the basal cells of lactating than pregnant mice. This gene is indeed known to be a major source of protein in milk."}],"state":"complete"},{"id":"claim-glmtreat-threshold","statement":"Testing the same contrast against a fold-change threshold of 1.5 with glmTreat calls 1123 genes at a false discovery rate of 5%, and the paper states that about 1100 genes are detected.","kind":"quantitative","target":{"value":1123.0,"unit":"genes called differentially expressed above the threshold","tolerance":null,"source":"Note that the argument lfc is an abbreviation for “log-fold-change”. About 1100 genes are detected as DE with a FC significantly above 1.5 at an FDR cut-off of 5%."},"evidence":[{"asset":"source:pmid:27508061","locator":"sections[13] \"Differential expression relative to a fold-change threshold\" paragraph 5","quote":"Note that the argument lfc is an abbreviation for “log-fold-change”. About 1100 genes are detected as DE with a FC significantly above 1.5 at an FDR cut-off of 5%."}],"state":"complete"},{"id":"claim-interaction","statement":"The interaction between mouse status and cell type — the change from pregnant to lactating in luminal cells less the same change in basal cells — is tested with the same quasi-likelihood F-test, and the top gene is Ppl with a log2 fold change of -4.62.","kind":"quantitative","target":{"value":-4.62,"unit":"log2 fold change (Ppl)","tolerance":null,"source":"Suppose we are interested in testing whether the change in expression between lactating and pregnant mice is the same for basal cells as it is for luminal cells. In statistical terminology, this is the interaction effect between mouse status and cell type."},"evidence":[{"asset":"source:pmid:27508061","locator":"sections[16] \"Complicated contrasts\" paragraph 2","quote":"Suppose we are interested in testing whether the change in expression between lactating and pregnant mice is the same for basal cells as it is for luminal cells. In statistical terminology, this is the interaction effect between mouse status and cell type."}],"state":"complete"},{"id":"claim-counts","statement":"The genewise count matrix the analysis starts from holds 27179 genes over twelve libraries, and the filter that keeps genes with counts per million above 0.5 in at least two libraries keeps 15653 of them.","kind":"quantitative","target":{"value":15653.0,"unit":"genes kept by the filter","tolerance":null,"source":"For the current analysis, we keep genes that have CPM values above 0.5 in at least two libraries:"},"evidence":[{"asset":"source:pmid:27508061","locator":"sections[6] \"Filtering to remove low counts\" paragraph 3","quote":"For the current analysis, we keep genes that have CPM values above 0.5 in at least two libraries:"}],"state":"complete"},{"id":"claim-normalisation","statement":"The filtered libraries are normalised by the trimmed mean of M values, giving one factor per library, from 0.529 for MCL1.LE to 1.370 for MCL1.LA.","kind":"quantitative","target":{"value":1.37,"unit":"TMM normalisation factor","tolerance":null,"source":"Normalization by trimmed mean of M values (TMM) 17 is performed by using the calcNormFactors function, which returns the DGEList argument with only the norm.factors changed."},"evidence":[{"asset":"source:pmid:27508061","locator":"sections[7] \"Normalization for composition bias\" paragraph 2","quote":"Normalization by trimmed mean of M values (TMM) 17 is performed by using the calcNormFactors function, which returns the DGEList argument with only the norm.factors changed."}],"state":"complete"},{"id":"claim-alignment","statement":"The reads are aligned to the GRCm38/mm10 mouse genome with subread 1.4.4, and between 85.3% and 89.7% of the reads are mapped to a unique location.","kind":"quantitative","target":{"value":0.897,"unit":"proportion of reads mapped to a unique location","tolerance":null,"source":"Subread version 1.4.4 ( http://subread.sourceforge.net) was used to align the reads to the mouse mm10 genome and featureCounts was used to assign reads to Entrez Genes using RefSeq gene annotation."},"evidence":[{"asset":"source:pmid:27508061","locator":"sections[2] \"Description of the biological experiment\" paragraph 3","quote":"Subread version 1.4.4 ( http://subread.sourceforge.net) was used to align the reads to the mouse mm10 genome and featureCounts was used to assign reads to Entrez Genes using RefSeq gene annotation."}],"state":"complete"},{"id":"claim-pathway","statement":"The thresholded result is read for pathway enrichment with edgeR's kegga function, and the fifteen pathways the paper prints include the cell cycle pathway, which it reports as strongly down-regulated upon lactation.","kind":"qualitative","target":null,"evidence":[{"asset":"source:pmid:27508061","locator":"sections[19] \"KEGG pathway analysis\" paragraph 2","quote":"Another popular annotation database is the Kyoto Encyclopedia of Genes and Genomes (KEGG). Much smaller than GO, this is a curated database of molecular pathways and disease signatures. A KEGG analysis can be done exactly as for GO, but using the kegga function:"}],"state":"complete"}],"gaps":[]},"experiment":{"state":"complete","objective":"A fork of the exact Corpus revision, containing the five paper-defined assays in order. No assay has run until a recorded execution is bound to this fork.","steps":[{"id":"assay:1-step-1","order":1,"name":"Read the inputs and check them against the hashes the paper and its sources publish","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:1-step-2","order":2,"name":"Run the calls the authors published, in the order the authors published them","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:1-step-3","order":3,"name":"Compare every number with the number the paper printed, at the precision it printed it","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:1-step-4","order":4,"name":"Write the tables and the figures, and hash each file the assay produced","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:1-step-5","order":5,"name":"Package the result with the dataset hash, the parameters and the artefact hashes","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:2-step-1","order":6,"name":"Read the inputs and check them against the hashes the paper and its sources publish","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:2-step-2","order":7,"name":"Run the calls the authors published, in the order the authors published them","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:2-step-3","order":8,"name":"Compare every number with the number the paper printed, at the precision it printed it","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:2-step-4","order":9,"name":"Write the tables and the figures, and hash each file the assay produced","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:2-step-5","order":10,"name":"Package the result with the dataset hash, the parameters and the artefact hashes","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:3-step-1","order":11,"name":"Read the inputs and check them against the hashes the paper and its sources publish","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:3-step-2","order":12,"name":"Run the calls the authors published, in the order the authors published them","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:3-step-3","order":13,"name":"Compare every number with the number the paper printed, at the precision it printed it","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:3-step-4","order":14,"name":"Write the tables and the figures, and hash each file the assay produced","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:3-step-5","order":15,"name":"Package the result with the dataset hash, the parameters and the artefact hashes","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:4-step-1","order":16,"name":"Read the inputs and check them against the hashes the paper and its sources publish","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:4-step-2","order":17,"name":"Run the calls the authors published, in the order the authors published them","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:4-step-3","order":18,"name":"Compare every number with the number the paper printed, at the precision it printed it","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:4-step-4","order":19,"name":"Write the tables and the figures, and hash each file the assay produced","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:4-step-5","order":20,"name":"Package the result with the dataset hash, the parameters and the artefact hashes","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:5-step-1","order":21,"name":"Read the inputs and check them against the hashes the paper and its sources publish","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:5-step-2","order":22,"name":"Run the calls the authors published, in the order the authors published them","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:5-step-3","order":23,"name":"Compare every number with the number the paper printed, at the precision it printed it","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:5-step-4","order":24,"name":"Write the tables and the figures, and hash each file the assay produced","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null},{"id":"assay:5-step-5","order":25,"name":"Package the result with the dataset hash, the parameters and the artefact hashes","kind":"computational","state":"complete","parameters":{},"inputs":[],"outputs":[],"duration_hours":null}],"materials":[],"instruments":[],"reagents":[],"conditions":{},"gaps":[]},"data":{"state":"partial","assets":[{"id":"source:pmid:27508061","role":"manuscript","format":"xml","media_type":"application/xml","uri":"https://doi.org/10.12688/f1000research.8987.2","sha256":"sha256:3bf8a3f4c0135bde16e66f7f232937e6a89868783968461f69da3b9c8795dceb","bytes":60617,"access":"open","state":"resolved","reader":null,"reader_status":"reader_required","identifier":"10.12688/f1000research.8987.2","version":null,"note":"Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.","structure":{"pmcid":"PMC4934518","source":"europe_pmc_fulltext","coverage":"whole_body_without_references","text_hash_scope":"rendered_section_body"}},{"id":"data:geo:GSE60450","role":"raw","format":"geo-series","media_type":"application/vnd.ncbi.geo-series+json","uri":"https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE60450","sha256":null,"bytes":null,"access":"open","state":"resolved","reader":null,"reader_status":"reader_required","identifier":"GSE60450","version":null,"note":"Except for the targets file targets.txt, all data analyzed in the workflow is read automatically from public websites as part of the code. All software used is publicly available as part of Bioconductor 3.3, except for the fastq-dump utility, which can be downloaded from NCBI website as described in the text. The article includes the complete code necessary to reproduce the analyses shown.","structure":{"repository":"GEO","access_route":"GEO accession URL","access_statement_verbatim":"Except for the targets file targets.txt, all data analyzed in the workflow is read automatically from public websites as part of the code. All software used is publicly available as part of Bioconductor 3.3, except for the fastq-dump utility, which can be downloaded from NCBI website as described in the text. The article includes the complete code necessary to reproduce the analyses shown.","access_statement_kind":"availability_statement","sample_accessions":["GSM1480291","GSM1480292","GSM1480293","GSM1480294","GSM1480295","GSM1480296","GSM1480297","GSM1480298","GSM1480299","GSM1480300","GSM1480301","GSM1480302"],"sample_count":12,"group_sizes":{"Luminal virgin":2,"Luminal 18.5 dP":2,"Luminal 2 dL":2,"Basal virgin":2,"Basal 18.5 dP":2,"Basal 2 dL":2},"group_sizes_basis":"The sample titles of the GEO series: Basal 18.5 dP (2), Basal 2 dL (2), Basal virgin (2), Luminal 18.5 dP (2), Luminal 2 dL (2), Luminal virgin (2).","platform":"13112","taxon":"Mus musculus","title":"Transcriptome analysis of luminal and basal cell subpopulations in the lactating versus pregnant mammary gland","resolution_checked_at":"2026-11-03T19:25:16Z","resolution_check":"identifier_resolution_only_no_download_no_licence_read","downloaded":false,"licence_read":false}},{"id":"data:sra:SRP045534","role":"raw","format":"sra-study","media_type":"application/x-sra","uri":"https://www.ncbi.nlm.nih.gov/sra/?term=SRP045534","sha256":null,"bytes":null,"access":"open","state":"resolved","reader":null,"reader_status":"reader_required","identifier":"SRP045534","version":null,"note":"The twelve raw FASTQ runs the paper aligns, one per library, and the study they belong to.","structure":{"repository":"SRA","study":"SRP045534","bio_project":"PRJNA258286","runs":[{"run":"SRR1552450","sample":"GSM1480297","cell_type":"B","status":"virgin","experiment":"SRX681991","total_spots":30109290,"total_bases":3010929000,"title":"GSM1480297: Basal virgin #1; Mus musculus; RNA-Seq","resolves":true},{"run":"SRR1552451","sample":"GSM1480298","cell_type":"B","status":"virgin","experiment":"SRX681992","total_spots":28322351,"total_bases":2832235100,"title":"GSM1480298: Basal virgin #2; Mus musculus; RNA-Seq","resolves":true},{"run":"SRR1552452","sample":"GSM1480299","cell_type":"B","status":"pregnant","experiment":"SRX681993","total_spots":31688348,"total_bases":3168834800,"title":"GSM1480299: Basal 18.5 dP #1; Mus musculus; RNA-Seq","resolves":true},{"run":"SRR1552453","sample":"GSM1480300","cell_type":"B","status":"pregnant","experiment":"SRX681994","total_spots":29614284,"total_bases":2961428400,"title":"GSM1480300: Basal 18.5 dP #2; Mus musculus; RNA-Seq","resolves":true},{"run":"SRR1552454","sample":"GSM1480301","cell_type":"B","status":"lactating","experiment":"SRX681995","total_spots":27225012,"total_bases":2722501200,"title":"GSM1480301: Basal 2 dL #1; Mus musculus; RNA-Seq","resolves":true},{"run":"SRR1552455","sample":"GSM1480302","cell_type":"B","status":"lactating","experiment":"SRX681996","total_spots":25433157,"total_bases":2543315700,"title":"GSM1480302: Basal 2 dL #2; Mus musculus; RNA-Seq","resolves":true},{"run":"SRR1552444","sample":"GSM1480291","cell_type":"L","status":"virgin","experiment":"SRX681985","total_spots":27919481,"total_bases":2791948100,"title":"GSM1480291: Luminal virgin #1; Mus musculus; RNA-Seq","resolves":true},{"run":"SRR1552445","sample":"GSM1480292","cell_type":"L","status":"virgin","experiment":"SRX681986","total_spots":29731031,"total_bases":2973103100,"title":"GSM1480292: Luminal virgin #2; Mus musculus; RNA-Seq","resolves":true},{"run":"SRR1552446","sample":"GSM1480293","cell_type":"L","status":"pregnant","experiment":"SRX681987","total_spots":29879070,"total_bases":2987907000,"title":"GSM1480293: Luminal 18.5 dP #1; Mus musculus; RNA-Seq","resolves":true},{"run":"SRR1552447","sample":"GSM1480294","cell_type":"L","status":"pregnant","experiment":"SRX681988","total_spots":29245388,"total_bases":2924538800,"title":"GSM1480294: Luminal 18.5 dP #2; Mus musculus; RNA-Seq","resolves":true},{"run":"SRR1552448","sample":"GSM1480295","cell_type":"L","status":"lactating","experiment":"SRX681989","total_spots":31425424,"total_bases":3142542400,"title":"GSM1480295: Luminal 2 dL #1; Mus musculus; RNA-Seq","resolves":true},{"run":"SRR1552449","sample":"GSM1480296","cell_type":"L","status":"lactating","experiment":"SRX681990","total_spots":31276061,"total_bases":3127606100,"title":"GSM1480296: Luminal 2 dL #2; Mus musculus; RNA-Seq","resolves":true}],"runs_resolved":12,"access_route":"the SRA accession URL, or fastq-dump","downloaded":false,"licence_read":false,"licence":"No licence statement is given in the repository record."}},{"id":"data:geo:GSE60450-counts","role":"supplementary","format":"geo-supplementary","media_type":"text/tab-values","uri":"https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE60450&format=file&file=GSE60450_Lactation-GenewiseCounts.txt.gz","sha256":"sha256:906b6ec4c33e95ca0ba454a3e0d07ad74e9cb7528ee38b89a9b122f5674a5f0d","bytes":513592,"access":"open","state":"verified","reader":null,"reader_status":"available","identifier":"GSE60450_Lactation-GenewiseCounts.txt.gz","version":null,"note":"The genewise read-count matrix the paper analyses: 27179 genes over twelve libraries, named by the repository. Fetched and hashed on 4 November 2026, and checked against the numbers the paper printed.","structure":{"repository":"GEO","series":"GSE60450","access_route":"the GEO download URL","downloaded":true,"fetched_at":"2026-11-04","licence_read":false,"licence":"No licence statement is given in the repository record.","verification":{"checked_on":"2026-11-04","method":"The counts in the fetched file were summed per library and compared with the lib.size the paper printed. The annotation the paper's sessionInfo names was fetched from the Bioconductor 3.3 archive, the genes without a symbol were dropped as the paper drops them, and the paper's filter was applied to what was left.","library_totals":{"agrees":true,"detail":"All twelve library totals equal the lib.size printed in section 4, from MCL1.DG 23227641 to MCL1.LF 24657293, so every row of the fetched file is accounted for."},"annotation":{"agrees":true,"detail":"822 of the 27179 genes carry no symbol in org.Mm.eg.db 3.3.0, leaving 26357, which is the dimension the paper prints after the drop."},"filter":{"agrees":true,"detail":"The rule as the paper writes it - counts per million above 0.5 in at least two libraries, over the library sizes the paper printed - keeps 15653 genes and discards 10704, and all twelve post-filter library sizes equal the lib.size printed in section 7, from MCL1.DG 23139638 to MCL1.LF 24602860."}}}},{"id":"annotation:bioconductor:org.Mm.eg.db:3.3.0","role":"reference","format":"bioconductor-package","media_type":"application/x-tar+gzip","uri":"https://bioconductor.org/packages/3.3/data/annotation/src/contrib/org.Mm.eg.db_3.3.0.tar.gz","sha256":"sha256:5dc93707b7ca319b295b5b19963c573d5a3817d836f458a3e30d635ddd4e2365","bytes":63495324,"access":"open","state":"verified","reader":null,"reader_status":"available","identifier":"org.Mm.eg.db_3.3.0","version":"3.3.0","note":"The annotation release the paper's own sessionInfo names, fetched and hashed on 4 November 2026 from the Bioconductor 3.3 archive. It decides which genes keep a symbol, and the paper discards the ones that do not, so it is an input to the filtering stage.","structure":{"repository":"Bioconductor","bioconductor_release":"3.3","package":"org.Mm.eg.db","version":"3.3.0","access_route":"the Bioconductor archive URL","fetched_at":"2026-11-04","organism":"Mus musculus","entrez_ids_with_a_symbol":69029,"licence":"The package states no licence; the archive is public."}},{"id":"code:wehi:targets.txt","role":"code","format":"text/plain","media_type":"text/plain","uri":"http://bioinf.wehi.edu.au/edgeR/F1000Research2016/targets.txt","sha256":"sha256:88ae42c0539403073f0bbbd53287dd9c9cf61ddd5b1a42856243d7d99113cb8b","bytes":525,"access":"open","state":"verified","reader":null,"reader_status":"available","identifier":"targets.txt","version":null,"note":"The authors' own file, fetched and hashed on 3 November 2026. The publisher states no licence for the entry.","structure":{"repository":"WEHI","access_route":"the code entry URL","fetched_at":"2026-11-03","licence":"No licence stated by the publisher."}},{"id":"code:wehi:edgeRQL.R","role":"code","format":"R source","media_type":"text/x-r-source","uri":"http://bioinf.wehi.edu.au/edgeR/F1000Research2016/edgeRQL.R","sha256":"sha256:3b11478ac314c4456af8b4ba7af7992e938488ffc7bec88d3f73f42aed4c0bba","bytes":10298,"access":"open","state":"verified","reader":null,"reader_status":"available","identifier":"edgeRQL.R","version":null,"note":"The authors' own file, fetched and hashed on 3 November 2026. The publisher states no licence for the entry.","structure":{"repository":"WEHI","access_route":"the code entry URL","fetched_at":"2026-11-03","licence":"No licence stated by the publisher."}},{"id":"code:wehi:edgeRQL.Rnw","role":"code","format":"Rnw source","media_type":"text/x-tex","uri":"http://bioinf.wehi.edu.au/edgeR/F1000Research2016/edgeRQL.Rnw","sha256":"sha256:defd3acb73dcbfe885ca02209ac9437b785b4ccf12c7ba09a8a8bb311173902d","bytes":59373,"access":"open","state":"verified","reader":null,"reader_status":"available","identifier":"edgeRQL.Rnw","version":null,"note":"The authors' own file, fetched and hashed on 3 November 2026. The publisher states no licence for the entry.","structure":{"repository":"WEHI","access_route":"the code entry URL","fetched_at":"2026-11-03","licence":"No licence stated by the publisher."}},{"id":"code:wehi:edgeRQL.pdf","role":"code","format":"PDF","media_type":"application/pdf","uri":"http://bioinf.wehi.edu.au/edgeR/F1000Research2016/edgeRQL.pdf","sha256":"sha256:76ea4da65b151b1bb78ba42b0d80c0e864632df0e13219fe968525a43efd2276","bytes":904232,"access":"open","state":"verified","reader":null,"reader_status":"available","identifier":"edgeRQL.pdf","version":null,"note":"The authors' own file, fetched and hashed on 3 November 2026. The publisher states no licence for the entry.","structure":{"repository":"WEHI","access_route":"the code entry URL","fetched_at":"2026-11-03","licence":"No licence stated by the publisher."}},{"id":"reference:mm10","role":"reference","format":"fasta.gz","media_type":"application/gzip","uri":"ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA_000001635.6_GRCm38.p4/GCA_000001635.6_GRCm38.p4_genomic.fna.gz","sha256":null,"bytes":null,"access":"open","state":"declared","reader":null,"reader_status":"reader_required","identifier":"GCA_000001635.6_GRCm38.p4","version":"GRCm38 (Dec 2011)","note":"The mouse genome build the paper indexes and aligns to, as the paper names it.","structure":{"repository":"NCBI","access_route":"the NCBI genome FTP path","downloaded":false,"licence_read":false}}],"gaps":["asset:data:geo:GSE60450 licence not read","asset:data:geo:GSE60450 not downloaded","asset:data:sra:SRP045534 licence not read","asset:data:sra:SRP045534 not downloaded","asset:reference:mm10 not downloaded","data.licence_not_stated_in_the_repository_record"],"group_sizes":{"Basal 18.5 dP":2,"Basal 2 dL":2,"Basal virgin":2,"Luminal 18.5 dP":2,"Luminal 2 dL":2,"Luminal virgin":2},"paper_group_sizes":{"sizes":{"B.lactating":2,"B.pregnant":2,"B.virgin":2,"L.lactating":2,"L.pregnant":2,"L.virgin":2},"total":12,"source":"There are therefore six groups of RNA samples, one for each combination of cell type and mouse status. Two biological replicates were collected for each group.","reference_group":"B.pregnant"}},"analysis":{"state":"complete","methods":[{"id":"rna_seq_read_alignment","family":"sequence_alignment","specific":"sequence_align","label":"Read alignment","dsl_operations":["sequence_align"],"missing_operations":[],"expressible":true,"parameters":{"libraries":{"type":"array","description":"The libraries this run aligns. The twelve the targets file names, when the request names none. A subset is a declared change to the run and is recorded as one.","required":false}},"data_shapes":["reads","reference"],"evidence":{"score":1.0,"band":"implemented","quote":"Read alignment as the workflow of the paper runs it."}}],"targets":[],"gaps":[]},"capability":{"state":"complete","requirements":[{"capability_id":"provider:automated-assays-computational#rna_seq_read_alignment","label":"Read alignment","assay_families":["sequence_alignment"],"availability_state":"available","tier_unlocked":null,"candidate":"Automated Assays computational service"}],"gaps":[]},"readiness":{"state":"blocked","tier":"R4","blocking_axis":"method","blocked_on":"method:rna_seq_read_alignment","axes":{"method":{"tier":"R4","expressible":false,"required_operations":["normalise_counts","differential_expression_fit","fdr_bh","pathway_enrich"],"missing_operations":["rna_seq_read_alignment","gene_count_quantification","normalise_counts_tmm","differential_expression_quasi_likelihood"],"basis":"The DSL catalogue has no operation for: rna_seq_read_alignment, gene_count_quantification, normalise_counts_tmm, differential_expression_quasi_likelihood. The catalogue's normalise_counts is counts per million and its differential_expression_fit is a Welch t-test, so neither is edgeR's TMM normalisation nor its quasi-likelihood F-test."},"capability":{"tier":"R1","capability_id":"capability:computational_analysis","availability_state":"owned","basis":"The corpus capability table owns computational analysis."},"data":{"tier":"R1","reachable":true,"accessions":["GSE60450","SRP045534"],"statements":["Except for the targets file targets.txt, all data analyzed in the workflow is read automatically from public websites as part of the code. All software used is publicly available as part of Bioconductor 3.3, except for the fastq-dump utility, which can be downloaded from NCBI website as described in the text. The article includes the complete code necessary to reproduce the analyses shown."],"basis":"The GEO series resolves, its twelve samples are listed, and the twelve SRA runs resolve. No dataset was downloaded and no licence was read.","group_correspondence":{"Basal virgin":"B.virgin","Basal 18.5 dP":"B.pregnant","Basal 2 dL":"B.lactating","Luminal virgin":"L.virgin","Luminal 18.5 dP":"L.pregnant","Luminal 2 dL":"L.lactating"}}},"can_run":{"dsl_operations":["normalise_counts","differential_expression_fit","fdr_bh","pathway_enrich"],"assets":["source:pmid:27508061","data:geo:GSE60450"],"steps":[]},"must_build":{"dsl_operations":[{"operation":"rna_seq_read_alignment","unlocks_papers":null,"priority":null},{"operation":"gene_count_quantification","unlocks_papers":null,"priority":null},{"operation":"normalise_counts_tmm","unlocks_papers":null,"priority":null},{"operation":"differential_expression_quasi_likelihood","unlocks_papers":null,"priority":null}],"converters":[],"readers":[],"capabilities":[],"data_gaps":["data:geo:GSE60450"]},"gaps":["method:rna_seq_read_alignment"]},"review":{"state":"absent","machine_critique":null,"human_critique":null,"stages":[],"gaps":["review.absent: this document is a working version. Review and publication are separate actions, and they belong to the Journal."]},"execution":{"state":"complete","status":"run","mode":"computational","runs":[{"id":"85f9fdf4-4c2e-4155-8daa-da11d28021ef","record":"pmid:27508061","operation":"rna_seq_differential_expression","version":"0.1.0","status":"complete","provider":"automated-assays-computational","result_hash":"sha256:0da96b2fe1f4ab61ad9ec91f1a9130268fb314dd354d6b6f623388f5e7ae9d4c","evidence":"899e82b58fd83ec21bfd48461d0797f7867bbd5dedf5744ed19b8654b456e291"},{"id":"cb681050-44e5-43c9-801c-87e82a09ed55","record":"pmid:27508061","operation":"rna_seq_count_filtering_and_normalisation","version":"0.1.0","status":"complete","provider":"automated-assays-computational","result_hash":"sha256:b681c5238c00d87068957502cabb988094a393818da50840119649867a1fb4df","evidence":"f7288a5fdb3282fea31889580c03db42473612241a6fed77527aa211540c6df3"},{"id":"8573fa99-85cd-4f56-bdd5-3651d1cdfd58","record":"pmid:27508061","operation":"rna_seq_gene_quantification","version":"0.1.0","status":"refused","provider":"automated-assays-computational","result_hash":"sha256:43cac33f2a7f97f767d87937964e805d3ae6fab5b695818b5cf7d37efdb790fb","evidence":"0e116046745cbd0ed15ae537d918f4776dfa6563908c644dbdf2221600f760ed"},{"id":"7daff85e-0e95-4e29-b922-1bf66aa96252","record":"pmid:27508061","operation":"rna_seq_read_alignment","version":"0.1.0","status":"refused","provider":"automated-assays-computational","result_hash":"sha256:be55ead2068cf19cc9efd01d113aa3057e4b3dde2343ea0ecd4562aaf2d1bd0e","evidence":"48eb942441653112489a7ce4ff0821a719728c1188aeab486161fb93c17ec872"},{"id":"213bfb92-8ff7-4d1e-925c-19d9f7047551","record":"pmid:27508061","operation":"rna_seq_count_filtering_and_normalisation","version":"0.1.0","status":"refused","provider":"automated-assays-computational","result_hash":null,"evidence":null},{"id":"c0d08ec6-0c1f-49db-b139-adcc2916656d","record":"pmid:27508061","operation":"rna_seq_count_filtering_and_normalisation","version":"0.1.0","status":"refused","provider":"automated-assays-computational","result_hash":null,"evidence":null},{"id":"91daa9a9-2b77-45e0-8727-13a7643efe9d","record":"pmid:27508061","operation":"rna_seq_pathway_enrichment","version":"0.1.0","status":"complete","provider":"automated-assays-computational","result_hash":"sha256:6daad652773fe321cd885609fcc97c1378b769fa9173daaf172c33582fb30efb","evidence":"d1d756c2c34777bc09aa0d236928ddd951666073cec97e52acd028342d3ed85f"},{"id":"a92cdcdd-e95c-4579-a4dd-7648d2c24eff","record":"pmid:27508061","operation":"rna_seq_differential_expression","version":"0.1.0","status":"complete","provider":"automated-assays-computational","result_hash":"sha256:194ba83e9468a04462de791795cd0bdf4bbdc992bb5cea0b420fa659fe8ecc1f","evidence":"ffd49280b7bcfa17e938f077569600a4d38d3dce873176d5f4f8f5aa230659da"},{"id":"fa44f761-7022-4c3f-975f-d8ce85abd2a8","record":"pmid:27508061","operation":"rna_seq_count_filtering_and_normalisation","version":"0.1.0","status":"complete","provider":"automated-assays-computational","result_hash":"sha256:a1f4df7f4ba128a759d8da6db62614641875603a7474e4c02572b23b18563976","evidence":"25d0e73c4e732aef23de129367c22fb8c3889275e672ff9c8be9c63fdd553a59"}],"gaps":[]},"provenance":{"entities":[{"id":"experiment:f804cb05-b3cd-4b58-a0a2-9608e8b5289e","type":"experiment","label":"PMID 27508061 — from reads to genes to pathways","owner":"automated-assays","version":"0.1.0","digest":null},{"id":"science-record:pmid:27508061","type":"science_record","label":"The Corpus Engine science record this experiment was opened against","owner":"corpus-engine","version":4,"digest":"sha256:55ea50e300bb431a86d436951ca0ffa6f4e183dc3cde24b554526da6a21d4402"},{"id":"assay-definition:rna-seq-read-alignment@0.1.0","type":"assay_definition","label":"Read alignment","owner":"automated-assays","version":"0.1.0","digest":"sha256:781215e3b5e462988c0f0a214b7462f32b5e18c58a59ff0e7366fdf7059c67a9","definition":{"name":"Read alignment","slug":"rna-seq-read-alignment","version":"0.1.0","owner":"automated-assays","execution_mode":"computational","purpose":"Align the twelve single-end RNA-Seq libraries to the mouse mm10 genome and report how much of each library mapped uniquely, as the workflow of Chen, Lun & Smyth (2016) does with Rsubread.","operation":"rna_seq_read_alignment","operation_version":"0.1.0","dsl_family":"sequence_alignment","dsl_operations":["sequence_align"],"catalogued_by_corpus":true,"catalogue_note":"The Corpus Engine's catalogue carries `sequence_align` in its `sequence_alignment` family, and this operation is the same work under that catalogue's name. The cross-reference is checked against the catalogue fingerprint f2132e96ae6c7a4e.","inputs":{"reads":"The twelve single-end 100 bp FASTQ libraries, SRR1552444 to SRR1552455.","reference":"The mouse mm10 genome, GRCm38 patch 4, indexed by the Subread aligner."},"parameters":{"libraries":{"type":"array","description":"The libraries this run aligns. The twelve the targets file names, when the request names none. A subset is a declared change to the run and is recorded as one.","required":false}},"outputs":{"alignments":"One BAM per library.","mapping_proportions":"The number of reads in each library and the number mapped uniquely."},"controls":["The paper's own printed values, used as the comparison criteria and fixed before the run","The software versions the paper records, pinned rather than taken from the path","The input files, checked against the hashes their publishers give"],"refusals":{"input_missing":"An input the assay needs is not present and verified.","environment_missing":"The pinned environment the paper records is not present, so the assay was not run. Running it with a different R would produce numbers that look like the paper's and are not.","stage_failed":"The assay did not complete. Its log is kept with the run."},"procedure":[{"order":1,"step":"Read the inputs and check them against the hashes the paper and its sources publish"},{"order":2,"step":"Run the calls the authors published, in the order the authors published them"},{"order":3,"step":"Compare every number with the number the paper printed, at the precision it printed it"},{"order":4,"step":"Write the tables and the figures, and hash each file the assay produced"},{"order":5,"step":"Package the result with the dataset hash, the parameters and the artefact hashes"}],"execution":{"default_provider":"automated-assays-computational","provider_rule":"A request may name a provider that supports the exact operation. A provider that does not support it is refused, and is never substituted for one that does.","request":{"required":{"source_record_id":"The science record the work is about.","source_content_hash":"The exact version of that record, as sha256:<hex>. The request is refused if the platform does not hold that version.","operation":"The operation to run.","operation_version":"The version of that operation.","inputs":"The inputs the operation takes."},"optional":{"request_id":"The identity of the request. A retry with the same identity and the same request returns the execution that already exists, rather than running the work twice. A retry with the same identity and a different request — a different source, operation, set of inputs, set of parameters or provider — is refused, and the execution that already exists is left unchanged.","parameters":"The parameters of the run.","provider":"A provider that supports the exact operation. The default is Automated Assays. A provider that does not support the operation is refused and never substituted for one that does.","assay_id":"The identity of the assay entry the work concerns, inside the source record. A record of version 1.2 carries an ordered set of assays and every entry has an identity, so a request that names one says exactly which assay of the record the work belongs to. The entry has to be one the record holds and the operation has to be one that entry requires, or the request is refused rather than run against some other assay.","assay_entry":"The assay entry the work concerns, inside the source record. A science record carries an ordered set of assays, so a record and an operation do not on their own say which of that record's assays the work belongs to. Give definition_id, and definition_version and definition_digest when they are known. When the entry is given and does not match the operation named, the request is refused rather than quietly run against the other entry. This is the earlier form of the same reference and is still accepted; assay_id names the entry by the identity it has inside the record."},"refusals":{"unsupported_operation":"This platform does not run the operation named.","unsupported_version":"This platform does not run that operation at the version named.","provider_unknown":"No provider is registered under the name given.","provider_unsupported":"The provider named does not offer the operation at a version that is available for execution.","no_provider_available":"The default provider does not offer the operation, and no provider that does something else is substituted for one.","source_record_missing":"The request did not name the science record the work is about.","source_hash_missing":"The request did not bind the exact version of the record, as a sha256 content hash.","source_record_not_held":"This platform holds no science record under that identifier.","source_hash_mismatch":"The version of the record the platform holds is not the version the request names.","request_id_conflict":"The request identity has already been answered by a different request. The execution that already exists is unchanged.","assay_entry_mismatch":"The assay entry named is not one the record holds, or it does not require the operation named, so the request does not say which assay of the record the work concerns."},"endpoint":{"method":"POST","path":"/api/v1/executions","authentication":"A bearer token, checked by the paper-assay-api middleware.","responses":{"201":"The work ran, or the answer to this request had already been given.","202":"The work is already under way under this identity. The execution is named in the response and can be read back.","409":"The request identity has already been answered by a different request. The execution that already exists is unchanged.","422":"The request was refused. The code and the reason are in the response."}}},"result":{"request_id":"The identity of the request.","execution_id":"The identity of the execution.","status":"complete, refused or failed.","provider":"The provider that actually ran it, with the capability key and version.","source":"The record and the exact version it was bound to.","input_hash":"The canonical hash of the request inputs and parameters.","result_hash":"The canonical hash of the result.","evidence_hash":"The canonical hash of the evidence manifest.","finding":"What was found, in bounded words.","result":"The full result, in the shape the operation defines."}},"limitations":["A run reproduces the paper's computation, not the paper's laboratory work. The reads the authors generated are a deposit of theirs; a run reads the same deposit.","The results are the ones the paper's own recorded software versions produce. A run on different versions of edgeR or limma produces different numbers, so the versions are part of the result and are recorded with it."]}},{"id":"assay-definition:rna-seq-gene-quantification@0.1.0","type":"assay_definition","label":"Gene quantification","owner":"automated-assays","version":"0.1.0","digest":"sha256:a7731347e0ac054f8756d31ba6f586cb68a0e381b1946dfec53ef72bcddb1407","definition":{"name":"Gene quantification","slug":"rna-seq-gene-quantification","version":"0.1.0","owner":"automated-assays","execution_mode":"computational","purpose":"Count the aligned reads of each library into genes with featureCounts, and carry the gene annotation the counts were assigned to.","operation":"rna_seq_gene_quantification","operation_version":"0.1.0","dsl_family":"","dsl_operations":[],"catalogued_by_corpus":false,"catalogue_note":"The Corpus Engine's catalogue carries no operation for this work. It carries `quantify_intensity` and `quantify_mfi`, which are flow cytometry measurements rather than gene-level read counts, so neither is the same operation. This operation is named for the counting it performs, it is in no method family of the catalogue, and it is not claimed to answer a catalogue demand. The corpus's own record of the paper names this work `gene_count_quantification`, and its published method list for that paper lists that name among the operations its catalogue is missing; that name answers here, because this platform counts the reads the way that assay describes.","inputs":{"alignments":"The BAM files the alignment assay produced.","annotation":"The NCBI RefSeq annotation of mm10 that ships with Rsubread."},"parameters":{},"outputs":{"counts":"A matrix of read counts per Entrez gene per library.","annotation":"The gene characteristics the counts were assigned to."},"controls":["The paper's own printed values, used as the comparison criteria and fixed before the run","The software versions the paper records, pinned rather than taken from the path","The input files, checked against the hashes their publishers give"],"refusals":{"input_missing":"An input the assay needs is not present and verified.","environment_missing":"The pinned environment the paper records is not present, so the assay was not run. Running it with a different R would produce numbers that look like the paper's and are not.","stage_failed":"The assay did not complete. Its log is kept with the run."},"procedure":[{"order":1,"step":"Read the inputs and check them against the hashes the paper and its sources publish"},{"order":2,"step":"Run the calls the authors published, in the order the authors published them"},{"order":3,"step":"Compare every number with the number the paper printed, at the precision it printed it"},{"order":4,"step":"Write the tables and the figures, and hash each file the assay produced"},{"order":5,"step":"Package the result with the dataset hash, the parameters and the artefact hashes"}],"execution":{"default_provider":"automated-assays-computational","provider_rule":"A request may name a provider that supports the exact operation. A provider that does not support it is refused, and is never substituted for one that does.","request":{"required":{"source_record_id":"The science record the work is about.","source_content_hash":"The exact version of that record, as sha256:<hex>. The request is refused if the platform does not hold that version.","operation":"The operation to run.","operation_version":"The version of that operation.","inputs":"The inputs the operation takes."},"optional":{"request_id":"The identity of the request. A retry with the same identity and the same request returns the execution that already exists, rather than running the work twice. A retry with the same identity and a different request — a different source, operation, set of inputs, set of parameters or provider — is refused, and the execution that already exists is left unchanged.","parameters":"The parameters of the run.","provider":"A provider that supports the exact operation. The default is Automated Assays. A provider that does not support the operation is refused and never substituted for one that does.","assay_id":"The identity of the assay entry the work concerns, inside the source record. A record of version 1.2 carries an ordered set of assays and every entry has an identity, so a request that names one says exactly which assay of the record the work belongs to. The entry has to be one the record holds and the operation has to be one that entry requires, or the request is refused rather than run against some other assay.","assay_entry":"The assay entry the work concerns, inside the source record. A science record carries an ordered set of assays, so a record and an operation do not on their own say which of that record's assays the work belongs to. Give definition_id, and definition_version and definition_digest when they are known. When the entry is given and does not match the operation named, the request is refused rather than quietly run against the other entry. This is the earlier form of the same reference and is still accepted; assay_id names the entry by the identity it has inside the record."},"refusals":{"unsupported_operation":"This platform does not run the operation named.","unsupported_version":"This platform does not run that operation at the version named.","provider_unknown":"No provider is registered under the name given.","provider_unsupported":"The provider named does not offer the operation at a version that is available for execution.","no_provider_available":"The default provider does not offer the operation, and no provider that does something else is substituted for one.","source_record_missing":"The request did not name the science record the work is about.","source_hash_missing":"The request did not bind the exact version of the record, as a sha256 content hash.","source_record_not_held":"This platform holds no science record under that identifier.","source_hash_mismatch":"The version of the record the platform holds is not the version the request names.","request_id_conflict":"The request identity has already been answered by a different request. The execution that already exists is unchanged.","assay_entry_mismatch":"The assay entry named is not one the record holds, or it does not require the operation named, so the request does not say which assay of the record the work concerns."},"endpoint":{"method":"POST","path":"/api/v1/executions","authentication":"A bearer token, checked by the paper-assay-api middleware.","responses":{"201":"The work ran, or the answer to this request had already been given.","202":"The work is already under way under this identity. The execution is named in the response and can be read back.","409":"The request identity has already been answered by a different request. The execution that already exists is unchanged.","422":"The request was refused. The code and the reason are in the response."}}},"result":{"request_id":"The identity of the request.","execution_id":"The identity of the execution.","status":"complete, refused or failed.","provider":"The provider that actually ran it, with the capability key and version.","source":"The record and the exact version it was bound to.","input_hash":"The canonical hash of the request inputs and parameters.","result_hash":"The canonical hash of the result.","evidence_hash":"The canonical hash of the evidence manifest.","finding":"What was found, in bounded words.","result":"The full result, in the shape the operation defines."}},"limitations":["A run reproduces the paper's computation, not the paper's laboratory work. The reads the authors generated are a deposit of theirs; a run reads the same deposit.","The results are the ones the paper's own recorded software versions produce. A run on different versions of edgeR or limma produces different numbers, so the versions are part of the result and are recorded with it."]}},{"id":"assay-definition:rna-seq-count-filtering-and-normalisation@0.1.0","type":"assay_definition","label":"Count filtering, normalisation and sample quality","owner":"automated-assays","version":"0.1.0","digest":"sha256:029f48150fdbe3973df58cc1d9a63ea34bd5ba35c319469ee1cfd1249101c0fe","definition":{"name":"Count filtering, normalisation and sample quality","slug":"rna-seq-count-filtering-and-normalisation","version":"0.1.0","owner":"automated-assays","execution_mode":"computational","purpose":"Drop the genes that are not expressed, keep the genes that are, normalise the remaining counts with the trimmed mean of M values, and draw the sample quality plots, as the workflow of Chen, Lun & Smyth (2016) does with edgeR.","operation":"rna_seq_count_filtering_and_normalisation","operation_version":"0.1.0","dsl_family":"differential_expression","dsl_operations":["normalise_counts"],"catalogued_by_corpus":true,"catalogue_note":"The Corpus Engine's catalogue carries `normalise_counts` in its `differential_expression` family, and this operation is the same work under that catalogue's name. The cross-reference is checked against the catalogue fingerprint f2132e96ae6c7a4e.","inputs":{"counts":"The gene-wise read counts of GSE60450, which are the counts the published workflow reads.","targets":"The twelve samples, their cell type and their status."},"parameters":{},"outputs":{"retained_genes":"The genes that pass the published filter.","normalisation_factors":"The TMM normalisation factor of each library.","quality_plots":"The MDS and MD plots the published workflow draws."},"controls":["The paper's own printed values, used as the comparison criteria and fixed before the run","The software versions the paper records, pinned rather than taken from the path","The input files, checked against the hashes their publishers give"],"refusals":{"input_missing":"An input the assay needs is not present and verified.","environment_missing":"The pinned environment the paper records is not present, so the assay was not run. Running it with a different R would produce numbers that look like the paper's and are not.","stage_failed":"The assay did not complete. Its log is kept with the run."},"procedure":[{"order":1,"step":"Read the inputs and check them against the hashes the paper and its sources publish"},{"order":2,"step":"Run the calls the authors published, in the order the authors published them"},{"order":3,"step":"Compare every number with the number the paper printed, at the precision it printed it"},{"order":4,"step":"Write the tables and the figures, and hash each file the assay produced"},{"order":5,"step":"Package the result with the dataset hash, the parameters and the artefact hashes"}],"execution":{"default_provider":"automated-assays-computational","provider_rule":"A request may name a provider that supports the exact operation. A provider that does not support it is refused, and is never substituted for one that does.","request":{"required":{"source_record_id":"The science record the work is about.","source_content_hash":"The exact version of that record, as sha256:<hex>. The request is refused if the platform does not hold that version.","operation":"The operation to run.","operation_version":"The version of that operation.","inputs":"The inputs the operation takes."},"optional":{"request_id":"The identity of the request. A retry with the same identity and the same request returns the execution that already exists, rather than running the work twice. A retry with the same identity and a different request — a different source, operation, set of inputs, set of parameters or provider — is refused, and the execution that already exists is left unchanged.","parameters":"The parameters of the run.","provider":"A provider that supports the exact operation. The default is Automated Assays. A provider that does not support the operation is refused and never substituted for one that does.","assay_id":"The identity of the assay entry the work concerns, inside the source record. A record of version 1.2 carries an ordered set of assays and every entry has an identity, so a request that names one says exactly which assay of the record the work belongs to. The entry has to be one the record holds and the operation has to be one that entry requires, or the request is refused rather than run against some other assay.","assay_entry":"The assay entry the work concerns, inside the source record. A science record carries an ordered set of assays, so a record and an operation do not on their own say which of that record's assays the work belongs to. Give definition_id, and definition_version and definition_digest when they are known. When the entry is given and does not match the operation named, the request is refused rather than quietly run against the other entry. This is the earlier form of the same reference and is still accepted; assay_id names the entry by the identity it has inside the record."},"refusals":{"unsupported_operation":"This platform does not run the operation named.","unsupported_version":"This platform does not run that operation at the version named.","provider_unknown":"No provider is registered under the name given.","provider_unsupported":"The provider named does not offer the operation at a version that is available for execution.","no_provider_available":"The default provider does not offer the operation, and no provider that does something else is substituted for one.","source_record_missing":"The request did not name the science record the work is about.","source_hash_missing":"The request did not bind the exact version of the record, as a sha256 content hash.","source_record_not_held":"This platform holds no science record under that identifier.","source_hash_mismatch":"The version of the record the platform holds is not the version the request names.","request_id_conflict":"The request identity has already been answered by a different request. The execution that already exists is unchanged.","assay_entry_mismatch":"The assay entry named is not one the record holds, or it does not require the operation named, so the request does not say which assay of the record the work concerns."},"endpoint":{"method":"POST","path":"/api/v1/executions","authentication":"A bearer token, checked by the paper-assay-api middleware.","responses":{"201":"The work ran, or the answer to this request had already been given.","202":"The work is already under way under this identity. The execution is named in the response and can be read back.","409":"The request identity has already been answered by a different request. The execution that already exists is unchanged.","422":"The request was refused. The code and the reason are in the response."}}},"result":{"request_id":"The identity of the request.","execution_id":"The identity of the execution.","status":"complete, refused or failed.","provider":"The provider that actually ran it, with the capability key and version.","source":"The record and the exact version it was bound to.","input_hash":"The canonical hash of the request inputs and parameters.","result_hash":"The canonical hash of the result.","evidence_hash":"The canonical hash of the evidence manifest.","finding":"What was found, in bounded words.","result":"The full result, in the shape the operation defines."}},"limitations":["A run reproduces the paper's computation, not the paper's laboratory work. The reads the authors generated are a deposit of theirs; a run reads the same deposit.","The results are the ones the paper's own recorded software versions produce. A run on different versions of edgeR or limma produces different numbers, so the versions are part of the result and are recorded with it."]}},{"id":"assay-definition:rna-seq-differential-expression@0.1.0","type":"assay_definition","label":"Differential expression (edgeR quasi-likelihood)","owner":"automated-assays","version":"0.1.0","digest":"sha256:dfda866165c72d6cd1517a23e85867cdaa0adc1df88f9977b642792bdcdc7278","definition":{"name":"Differential expression (edgeR quasi-likelihood)","slug":"rna-seq-differential-expression","version":"0.1.0","owner":"automated-assays","execution_mode":"computational","purpose":"Fit the quasi-likelihood model over the six cell type and status groups, test the contrasts the paper states with the quasi-likelihood F test and with TREAT, and report the differentially expressed genes, as the workflow of Chen, Lun & Smyth (2016) does with edgeR.","operation":"rna_seq_differential_expression","operation_version":"0.1.0","dsl_family":"differential_expression","dsl_operations":["differential_expression_fit"],"catalogued_by_corpus":true,"catalogue_note":"The Corpus Engine's catalogue carries `differential_expression_fit` in its `differential_expression` family, and this operation is the same work under that catalogue's name. The cross-reference is checked against the catalogue fingerprint f2132e96ae6c7a4e.","inputs":{"counts":"The filtered, normalised counts.","design":"A one-way layout over the six cell type and status groups."},"parameters":{},"outputs":{"top_genes":"The leading genes of the basal lactating against basal pregnant comparison.","de_genes":"The number of differentially expressed genes at a false discovery rate of 5%."},"controls":["The paper's own printed values, used as the comparison criteria and fixed before the run","The software versions the paper records, pinned rather than taken from the path","The input files, checked against the hashes their publishers give"],"refusals":{"input_missing":"An input the assay needs is not present and verified.","environment_missing":"The pinned environment the paper records is not present, so the assay was not run. Running it with a different R would produce numbers that look like the paper's and are not.","stage_failed":"The assay did not complete. Its log is kept with the run."},"procedure":[{"order":1,"step":"Read the inputs and check them against the hashes the paper and its sources publish"},{"order":2,"step":"Run the calls the authors published, in the order the authors published them"},{"order":3,"step":"Compare every number with the number the paper printed, at the precision it printed it"},{"order":4,"step":"Write the tables and the figures, and hash each file the assay produced"},{"order":5,"step":"Package the result with the dataset hash, the parameters and the artefact hashes"}],"execution":{"default_provider":"automated-assays-computational","provider_rule":"A request may name a provider that supports the exact operation. A provider that does not support it is refused, and is never substituted for one that does.","request":{"required":{"source_record_id":"The science record the work is about.","source_content_hash":"The exact version of that record, as sha256:<hex>. The request is refused if the platform does not hold that version.","operation":"The operation to run.","operation_version":"The version of that operation.","inputs":"The inputs the operation takes."},"optional":{"request_id":"The identity of the request. A retry with the same identity and the same request returns the execution that already exists, rather than running the work twice. A retry with the same identity and a different request — a different source, operation, set of inputs, set of parameters or provider — is refused, and the execution that already exists is left unchanged.","parameters":"The parameters of the run.","provider":"A provider that supports the exact operation. The default is Automated Assays. A provider that does not support the operation is refused and never substituted for one that does.","assay_id":"The identity of the assay entry the work concerns, inside the source record. A record of version 1.2 carries an ordered set of assays and every entry has an identity, so a request that names one says exactly which assay of the record the work belongs to. The entry has to be one the record holds and the operation has to be one that entry requires, or the request is refused rather than run against some other assay.","assay_entry":"The assay entry the work concerns, inside the source record. A science record carries an ordered set of assays, so a record and an operation do not on their own say which of that record's assays the work belongs to. Give definition_id, and definition_version and definition_digest when they are known. When the entry is given and does not match the operation named, the request is refused rather than quietly run against the other entry. This is the earlier form of the same reference and is still accepted; assay_id names the entry by the identity it has inside the record."},"refusals":{"unsupported_operation":"This platform does not run the operation named.","unsupported_version":"This platform does not run that operation at the version named.","provider_unknown":"No provider is registered under the name given.","provider_unsupported":"The provider named does not offer the operation at a version that is available for execution.","no_provider_available":"The default provider does not offer the operation, and no provider that does something else is substituted for one.","source_record_missing":"The request did not name the science record the work is about.","source_hash_missing":"The request did not bind the exact version of the record, as a sha256 content hash.","source_record_not_held":"This platform holds no science record under that identifier.","source_hash_mismatch":"The version of the record the platform holds is not the version the request names.","request_id_conflict":"The request identity has already been answered by a different request. The execution that already exists is unchanged.","assay_entry_mismatch":"The assay entry named is not one the record holds, or it does not require the operation named, so the request does not say which assay of the record the work concerns."},"endpoint":{"method":"POST","path":"/api/v1/executions","authentication":"A bearer token, checked by the paper-assay-api middleware.","responses":{"201":"The work ran, or the answer to this request had already been given.","202":"The work is already under way under this identity. The execution is named in the response and can be read back.","409":"The request identity has already been answered by a different request. The execution that already exists is unchanged.","422":"The request was refused. The code and the reason are in the response."}}},"result":{"request_id":"The identity of the request.","execution_id":"The identity of the execution.","status":"complete, refused or failed.","provider":"The provider that actually ran it, with the capability key and version.","source":"The record and the exact version it was bound to.","input_hash":"The canonical hash of the request inputs and parameters.","result_hash":"The canonical hash of the result.","evidence_hash":"The canonical hash of the evidence manifest.","finding":"What was found, in bounded words.","result":"The full result, in the shape the operation defines."}},"limitations":["A run reproduces the paper's computation, not the paper's laboratory work. The reads the authors generated are a deposit of theirs; a run reads the same deposit.","The results are the ones the paper's own recorded software versions produce. A run on different versions of edgeR or limma produces different numbers, so the versions are part of the result and are recorded with it."]}},{"id":"assay-definition:rna-seq-pathway-enrichment@0.1.0","type":"assay_definition","label":"Pathway analysis (GO, KEGG, fry, camera)","owner":"automated-assays","version":"0.1.0","digest":"sha256:13560e312926f7eb0829d4fcf69d3ebb6bc2af081c63ea341def7d3ca69a1e27","definition":{"name":"Pathway analysis (GO, KEGG, fry, camera)","slug":"rna-seq-pathway-enrichment","version":"0.1.0","owner":"automated-assays","execution_mode":"computational","purpose":"Report the over-represented GO terms and KEGG pathways, and test the GO and MSigDB gene sets the paper selects, as the workflow of Chen, Lun & Smyth (2016) does with limma.","operation":"rna_seq_pathway_enrichment","operation_version":"0.1.0","dsl_family":"network_analysis","dsl_operations":["pathway_enrich"],"catalogued_by_corpus":true,"catalogue_note":"The Corpus Engine's catalogue carries `pathway_enrich` in its `network_analysis` family, and this operation is the same work under that catalogue's name. The cross-reference is checked against the catalogue fingerprint f2132e96ae6c7a4e.","inputs":{"result":"The differential expression result of the previous assay.","gene_sets":"The GO gene sets the authors selected, and the mouse MSigDB C2 v5p1 collection."},"parameters":{},"outputs":{"go_terms":"The over-represented GO terms.","kegg_pathways":"The over-represented KEGG pathways.","gene_set_tests":"The GO gene-set test and the MSigDB gene-set test."},"controls":["The paper's own printed values, used as the comparison criteria and fixed before the run","The software versions the paper records, pinned rather than taken from the path","The input files, checked against the hashes their publishers give"],"refusals":{"input_missing":"An input the assay needs is not present and verified.","environment_missing":"The pinned environment the paper records is not present, so the assay was not run. Running it with a different R would produce numbers that look like the paper's and are not.","stage_failed":"The assay did not complete. Its log is kept with the run."},"procedure":[{"order":1,"step":"Read the inputs and check them against the hashes the paper and its sources publish"},{"order":2,"step":"Run the calls the authors published, in the order the authors published them"},{"order":3,"step":"Compare every number with the number the paper printed, at the precision it printed it"},{"order":4,"step":"Write the tables and the figures, and hash each file the assay produced"},{"order":5,"step":"Package the result with the dataset hash, the parameters and the artefact hashes"}],"execution":{"default_provider":"automated-assays-computational","provider_rule":"A request may name a provider that supports the exact operation. A provider that does not support it is refused, and is never substituted for one that does.","request":{"required":{"source_record_id":"The science record the work is about.","source_content_hash":"The exact version of that record, as sha256:<hex>. The request is refused if the platform does not hold that version.","operation":"The operation to run.","operation_version":"The version of that operation.","inputs":"The inputs the operation takes."},"optional":{"request_id":"The identity of the request. A retry with the same identity and the same request returns the execution that already exists, rather than running the work twice. A retry with the same identity and a different request — a different source, operation, set of inputs, set of parameters or provider — is refused, and the execution that already exists is left unchanged.","parameters":"The parameters of the run.","provider":"A provider that supports the exact operation. The default is Automated Assays. A provider that does not support the operation is refused and never substituted for one that does.","assay_id":"The identity of the assay entry the work concerns, inside the source record. A record of version 1.2 carries an ordered set of assays and every entry has an identity, so a request that names one says exactly which assay of the record the work belongs to. The entry has to be one the record holds and the operation has to be one that entry requires, or the request is refused rather than run against some other assay.","assay_entry":"The assay entry the work concerns, inside the source record. A science record carries an ordered set of assays, so a record and an operation do not on their own say which of that record's assays the work belongs to. Give definition_id, and definition_version and definition_digest when they are known. When the entry is given and does not match the operation named, the request is refused rather than quietly run against the other entry. This is the earlier form of the same reference and is still accepted; assay_id names the entry by the identity it has inside the record."},"refusals":{"unsupported_operation":"This platform does not run the operation named.","unsupported_version":"This platform does not run that operation at the version named.","provider_unknown":"No provider is registered under the name given.","provider_unsupported":"The provider named does not offer the operation at a version that is available for execution.","no_provider_available":"The default provider does not offer the operation, and no provider that does something else is substituted for one.","source_record_missing":"The request did not name the science record the work is about.","source_hash_missing":"The request did not bind the exact version of the record, as a sha256 content hash.","source_record_not_held":"This platform holds no science record under that identifier.","source_hash_mismatch":"The version of the record the platform holds is not the version the request names.","request_id_conflict":"The request identity has already been answered by a different request. The execution that already exists is unchanged.","assay_entry_mismatch":"The assay entry named is not one the record holds, or it does not require the operation named, so the request does not say which assay of the record the work concerns."},"endpoint":{"method":"POST","path":"/api/v1/executions","authentication":"A bearer token, checked by the paper-assay-api middleware.","responses":{"201":"The work ran, or the answer to this request had already been given.","202":"The work is already under way under this identity. The execution is named in the response and can be read back.","409":"The request identity has already been answered by a different request. The execution that already exists is unchanged.","422":"The request was refused. The code and the reason are in the response."}}},"result":{"request_id":"The identity of the request.","execution_id":"The identity of the execution.","status":"complete, refused or failed.","provider":"The provider that actually ran it, with the capability key and version.","source":"The record and the exact version it was bound to.","input_hash":"The canonical hash of the request inputs and parameters.","result_hash":"The canonical hash of the result.","evidence_hash":"The canonical hash of the evidence manifest.","finding":"What was found, in bounded words.","result":"The full result, in the shape the operation defines."}},"limitations":["A run reproduces the paper's computation, not the paper's laboratory work. The reads the authors generated are a deposit of theirs; a run reads the same deposit.","The results are the ones the paper's own recorded software versions produce. A run on different versions of edgeR or limma produces different numbers, so the versions are part of the result and are recorded with it."]}}],"activities":[{"id":"activity:fork:pmid:27508061","type":"fork","label":"Opened from pmid:27508061 at version sha256:55ea50e300bb431a86d436951ca0ffa6f4e183dc3cde24b554526da6a21d4402","used":["pmid:27508061"],"agent":"agent:user:0195616cec89"},{"id":"activity:request-contract:rna_seq_read_alignment","type":"assay_request_contract","label":"The request and result contract for this assay","used":["assay-definition:rna-seq-read-alignment@0.1.0"],"agent":"agent:automated-assays","request":{"required":{"source_record_id":"The science record the work is about.","source_content_hash":"The exact version of that record, as sha256:<hex>. The request is refused if the platform does not hold that version.","operation":"The operation to run.","operation_version":"The version of that operation.","inputs":"The inputs the operation takes."},"optional":{"request_id":"The identity of the request. A retry with the same identity and the same request returns the execution that already exists, rather than running the work twice. A retry with the same identity and a different request — a different source, operation, set of inputs, set of parameters or provider — is refused, and the execution that already exists is left unchanged.","parameters":"The parameters of the run.","provider":"A provider that supports the exact operation. The default is Automated Assays. A provider that does not support the operation is refused and never substituted for one that does.","assay_id":"The identity of the assay entry the work concerns, inside the source record. A record of version 1.2 carries an ordered set of assays and every entry has an identity, so a request that names one says exactly which assay of the record the work belongs to. The entry has to be one the record holds and the operation has to be one that entry requires, or the request is refused rather than run against some other assay.","assay_entry":"The assay entry the work concerns, inside the source record. A science record carries an ordered set of assays, so a record and an operation do not on their own say which of that record's assays the work belongs to. Give definition_id, and definition_version and definition_digest when they are known. When the entry is given and does not match the operation named, the request is refused rather than quietly run against the other entry. This is the earlier form of the same reference and is still accepted; assay_id names the entry by the identity it has inside the record."},"refusals":{"unsupported_operation":"This platform does not run the operation named.","unsupported_version":"This platform does not run that operation at the version named.","provider_unknown":"No provider is registered under the name given.","provider_unsupported":"The provider named does not offer the operation at a version that is available for execution.","no_provider_available":"The default provider does not offer the operation, and no provider that does something else is substituted for one.","source_record_missing":"The request did not name the science record the work is about.","source_hash_missing":"The request did not bind the exact version of the record, as a sha256 content hash.","source_record_not_held":"This platform holds no science record under that identifier.","source_hash_mismatch":"The version of the record the platform holds is not the version the request names.","request_id_conflict":"The request identity has already been answered by a different request. The execution that already exists is unchanged.","assay_entry_mismatch":"The assay entry named is not one the record holds, or it does not require the operation named, so the request does not say which assay of the record the work concerns."},"endpoint":{"method":"POST","path":"/api/v1/executions","authentication":"A bearer token, checked by the paper-assay-api middleware.","responses":{"201":"The work ran, or the answer to this request had already been given.","202":"The work is already under way under this identity. The execution is named in the response and can be read back.","409":"The request identity has already been answered by a different request. The execution that already exists is unchanged.","422":"The request was refused. The code and the reason are in the response."}}},"result":{"request_id":"The identity of the request.","execution_id":"The identity of the execution.","status":"complete, refused or failed.","provider":"The provider that actually ran it, with the capability key and version.","source":"The record and the exact version it was bound to.","input_hash":"The canonical hash of the request inputs and parameters.","result_hash":"The canonical hash of the result.","evidence_hash":"The canonical hash of the evidence manifest.","finding":"What was found, in bounded words.","result":"The full result, in the shape the operation defines."}}],"agents":[{"id":"agent:user:0195616cec89","type":"person","label":"Automated Assays Administrator","identity":"admin@automated-assays.local","role":"author"},{"id":"agent:automated-assays","type":"software","label":"Automated Assays"}],"source_run_id":"assays-session-f804cb05-b3cd-4b58-a0a2-9608e8b5289e","dsl_catalogue_fingerprint":null,"capability_table_fingerprint":null,"snapshot_id":null},"lineage":{"parent_id":"pmid:27508061","parent_hash":"sha256:55ea50e300bb431a86d436951ca0ffa6f4e183dc3cde24b554526da6a21d4402","fork_of":"pmid:27508061","generation":4},"gaps":["execution.unbound: 9 runs against this record are not bound to a version of it, so are not published as evidence on an assay entry."],"assays":[{"id":"assay:1","role":"data_generation","order_basis":"platform_plan_order:0","definition_id":"rna-seq-read-alignment","definition_version":"0.1.0","definition_digest":"sha256:781215e3b5e462988c0f0a214b7462f32b5e18c58a59ff0e7366fdf7059c67a9","required_operations":["rna_seq_read_alignment","sequence_align"],"support_state":"supported","source_hashes":{"assay_definition":"sha256:781215e3b5e462988c0f0a214b7462f32b5e18c58a59ff0e7366fdf7059c67a9","science_record":"sha256:55ea50e300bb431a86d436951ca0ffa6f4e183dc3cde24b554526da6a21d4402"},"definition":{"definition_id":"rna-seq-read-alignment","definition_version":"0.1.0","definition_digest":"sha256:781215e3b5e462988c0f0a214b7462f32b5e18c58a59ff0e7366fdf7059c67a9","required_operations":["rna_seq_read_alignment","sequence_align"],"support_state":"supported","input_contract":{"reads":"The twelve single-end 100 bp FASTQ libraries, SRR1552444 to SRR1552455.","reference":"The mouse mm10 genome, GRCm38 patch 4, indexed by the Subread aligner."},"parameter_contract":{"libraries":{"type":"array","description":"The libraries this run aligns. The twelve the targets file names, when the request names none. A subset is a declared change to the run and is recorded as one.","required":false}},"output_contract":{"alignments":"One BAM per library.","mapping_proportions":"The number of reads in each library and the number mapped uniquely."}},"depends_on":[],"operations":[{"operation":"rna_seq_read_alignment","operation_version":"0.1.0","support_state":"supported","input_contract":{"reads":"The twelve single-end 100 bp FASTQ libraries, SRR1552444 to SRR1552455.","reference":"The mouse mm10 genome, GRCm38 patch 4, indexed by the Subread aligner."},"parameter_contract":{"libraries":{"type":"array","description":"The libraries this run aligns. The twelve the targets file names, when the request names none. A subset is a declared change to the run and is recorded as one.","required":false}},"output_contract":{"alignments":"One BAM per library.","mapping_proportions":"The number of reads in each library and the number mapped uniquely."},"limitations":["A run reproduces the paper's computation, not the paper's laboratory work. The reads the authors generated are a deposit of theirs; a run reads the same deposit.","The results are the ones the paper's own recorded software versions produce. A run on different versions of edgeR or limma produces different numbers, so the versions are part of the result and are recorded with it."],"interpretation":"This operation is computed by this platform over the data the record names. Its result is a re-analysis of that data, not a reproduction of the pipeline the paper used."}]},{"id":"assay:2","role":"data_generation","order_basis":"platform_plan_order:1","definition_id":"rna-seq-gene-quantification","definition_version":"0.1.0","definition_digest":"sha256:a7731347e0ac054f8756d31ba6f586cb68a0e381b1946dfec53ef72bcddb1407","required_operations":["rna_seq_gene_quantification"],"support_state":"supported","source_hashes":{"assay_definition":"sha256:a7731347e0ac054f8756d31ba6f586cb68a0e381b1946dfec53ef72bcddb1407","science_record":"sha256:55ea50e300bb431a86d436951ca0ffa6f4e183dc3cde24b554526da6a21d4402"},"definition":{"definition_id":"rna-seq-gene-quantification","definition_version":"0.1.0","definition_digest":"sha256:a7731347e0ac054f8756d31ba6f586cb68a0e381b1946dfec53ef72bcddb1407","required_operations":["rna_seq_gene_quantification"],"support_state":"supported","input_contract":{"alignments":"The BAM files the alignment assay produced.","annotation":"The NCBI RefSeq annotation of mm10 that ships with Rsubread."},"parameter_contract":{},"output_contract":{"counts":"A matrix of read counts per Entrez gene per library.","annotation":"The gene characteristics the counts were assigned to."}},"depends_on":["assay:1"],"operations":[{"operation":"rna_seq_gene_quantification","operation_version":"0.1.0","support_state":"supported","input_contract":{"alignments":"The BAM files the alignment assay produced.","annotation":"The NCBI RefSeq annotation of mm10 that ships with Rsubread."},"parameter_contract":{},"output_contract":{"counts":"A matrix of read counts per Entrez gene per library.","annotation":"The gene characteristics the counts were assigned to."},"limitations":["A run reproduces the paper's computation, not the paper's laboratory work. The reads the authors generated are a deposit of theirs; a run reads the same deposit.","The results are the ones the paper's own recorded software versions produce. A run on different versions of edgeR or limma produces different numbers, so the versions are part of the result and are recorded with it."],"interpretation":"This operation is computed by this platform over the data the record names. Its result is a re-analysis of that data, not a reproduction of the pipeline the paper used."}]},{"id":"assay:3","role":"normalisation","order_basis":"platform_plan_order:2","definition_id":"rna-seq-count-filtering-and-normalisation","definition_version":"0.1.0","definition_digest":"sha256:029f48150fdbe3973df58cc1d9a63ea34bd5ba35c319469ee1cfd1249101c0fe","required_operations":["rna_seq_count_filtering_and_normalisation","normalise_counts"],"support_state":"supported","source_hashes":{"assay_definition":"sha256:029f48150fdbe3973df58cc1d9a63ea34bd5ba35c319469ee1cfd1249101c0fe","science_record":"sha256:55ea50e300bb431a86d436951ca0ffa6f4e183dc3cde24b554526da6a21d4402"},"definition":{"definition_id":"rna-seq-count-filtering-and-normalisation","definition_version":"0.1.0","definition_digest":"sha256:029f48150fdbe3973df58cc1d9a63ea34bd5ba35c319469ee1cfd1249101c0fe","required_operations":["rna_seq_count_filtering_and_normalisation","normalise_counts"],"support_state":"supported","input_contract":{"counts":"The gene-wise read counts of GSE60450, which are the counts the published workflow reads.","targets":"The twelve samples, their cell type and their status."},"parameter_contract":{},"output_contract":{"retained_genes":"The genes that pass the published filter.","normalisation_factors":"The TMM normalisation factor of each library.","quality_plots":"The MDS and MD plots the published workflow draws."}},"depends_on":["assay:2"],"operations":[{"operation":"rna_seq_count_filtering_and_normalisation","operation_version":"0.1.0","support_state":"supported","input_contract":{"counts":"The gene-wise read counts of GSE60450, which are the counts the published workflow reads.","targets":"The twelve samples, their cell type and their status."},"parameter_contract":{},"output_contract":{"retained_genes":"The genes that pass the published filter.","normalisation_factors":"The TMM normalisation factor of each library.","quality_plots":"The MDS and MD plots the published workflow draws."},"limitations":["A run reproduces the paper's computation, not the paper's laboratory work. The reads the authors generated are a deposit of theirs; a run reads the same deposit.","The results are the ones the paper's own recorded software versions produce. A run on different versions of edgeR or limma produces different numbers, so the versions are part of the result and are recorded with it."],"interpretation":"This operation is computed by this platform over the data the record names. Its result is a re-analysis of that data, not a reproduction of the pipeline the paper used."}]},{"id":"assay:4","role":"analysis","order_basis":"platform_plan_order:3","definition_id":"rna-seq-differential-expression","definition_version":"0.1.0","definition_digest":"sha256:dfda866165c72d6cd1517a23e85867cdaa0adc1df88f9977b642792bdcdc7278","required_operations":["rna_seq_differential_expression","differential_expression_fit"],"support_state":"supported","source_hashes":{"assay_definition":"sha256:dfda866165c72d6cd1517a23e85867cdaa0adc1df88f9977b642792bdcdc7278","science_record":"sha256:55ea50e300bb431a86d436951ca0ffa6f4e183dc3cde24b554526da6a21d4402"},"definition":{"definition_id":"rna-seq-differential-expression","definition_version":"0.1.0","definition_digest":"sha256:dfda866165c72d6cd1517a23e85867cdaa0adc1df88f9977b642792bdcdc7278","required_operations":["rna_seq_differential_expression","differential_expression_fit"],"support_state":"supported","input_contract":{"counts":"The filtered, normalised counts.","design":"A one-way layout over the six cell type and status groups."},"parameter_contract":{},"output_contract":{"top_genes":"The leading genes of the basal lactating against basal pregnant comparison.","de_genes":"The number of differentially expressed genes at a false discovery rate of 5%."}},"depends_on":["assay:3"],"operations":[{"operation":"rna_seq_differential_expression","operation_version":"0.1.0","support_state":"supported","input_contract":{"counts":"The filtered, normalised counts.","design":"A one-way layout over the six cell type and status groups."},"parameter_contract":{},"output_contract":{"top_genes":"The leading genes of the basal lactating against basal pregnant comparison.","de_genes":"The number of differentially expressed genes at a false discovery rate of 5%."},"limitations":["A run reproduces the paper's computation, not the paper's laboratory work. The reads the authors generated are a deposit of theirs; a run reads the same deposit.","The results are the ones the paper's own recorded software versions produce. A run on different versions of edgeR or limma produces different numbers, so the versions are part of the result and are recorded with it."],"interpretation":"This operation is computed by this platform over the data the record names. Its result is a re-analysis of that data, not a reproduction of the pipeline the paper used."}]},{"id":"assay:5","role":"analysis","order_basis":"platform_plan_order:4","definition_id":"rna-seq-pathway-enrichment","definition_version":"0.1.0","definition_digest":"sha256:13560e312926f7eb0829d4fcf69d3ebb6bc2af081c63ea341def7d3ca69a1e27","required_operations":["rna_seq_pathway_enrichment","pathway_enrich"],"support_state":"supported","source_hashes":{"assay_definition":"sha256:13560e312926f7eb0829d4fcf69d3ebb6bc2af081c63ea341def7d3ca69a1e27","science_record":"sha256:55ea50e300bb431a86d436951ca0ffa6f4e183dc3cde24b554526da6a21d4402"},"definition":{"definition_id":"rna-seq-pathway-enrichment","definition_version":"0.1.0","definition_digest":"sha256:13560e312926f7eb0829d4fcf69d3ebb6bc2af081c63ea341def7d3ca69a1e27","required_operations":["rna_seq_pathway_enrichment","pathway_enrich"],"support_state":"supported","input_contract":{"result":"The differential expression result of the previous assay.","gene_sets":"The GO gene sets the authors selected, and the mouse MSigDB C2 v5p1 collection."},"parameter_contract":{},"output_contract":{"go_terms":"The over-represented GO terms.","kegg_pathways":"The over-represented KEGG pathways.","gene_set_tests":"The GO gene-set test and the MSigDB gene-set test."}},"depends_on":["assay:4"],"operations":[{"operation":"rna_seq_pathway_enrichment","operation_version":"0.1.0","support_state":"supported","input_contract":{"result":"The differential expression result of the previous assay.","gene_sets":"The GO gene sets the authors selected, and the mouse MSigDB C2 v5p1 collection."},"parameter_contract":{},"output_contract":{"go_terms":"The over-represented GO terms.","kegg_pathways":"The over-represented KEGG pathways.","gene_set_tests":"The GO gene-set test and the MSigDB gene-set test."},"limitations":["A run reproduces the paper's computation, not the paper's laboratory work. The reads the authors generated are a deposit of theirs; a run reads the same deposit.","The results are the ones the paper's own recorded software versions produce. A run on different versions of edgeR or limma produces different numbers, so the versions are part of the result and are recorded with it."],"interpretation":"This operation is computed by this platform over the data the record names. Its result is a re-analysis of that data, not a reproduction of the pipeline the paper used."}]}]}