Corpus Engine Towards a reproducible .science file.
← All .science files

pmid:39565903

Gene count estimation with pytximport enables reproducible analysis of bulk RNA sequencing data in Python.

Malte Kuehl · Milagros N Wong · Nicola Wanner · Stefan Bonn · Victor G Puelles

Bioinformatics (Oxford, England) · 2024 doi:10.1093/bioinformatics/btae700

Paper

complete

Experiment

partial

Data

partial

Analysis

absent

Execution

absent

Execution evidence has not yet been added to this .science file. Explore its methods, data and open questions to plan the next step.
Record details sci_version · id · kind · revision · content_hash · schema · created_at · updated_at · generator
id
pmid:39565903
kind
science-record
content_hash
sha256:59c9fcab8e52cd5be0c0f3bea1f5ffe397c2ac86316ff6abe4d805267adc19b7
schema
https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json
created_at
2026-11-01T20:29:49Z
updated_at
2026-11-01T20:29:49Z
generator object · 2 fields
name
corpus-assay-engine
run_id
reading-sci-2026-11-01
paper object · 10 fields
state
complete
title
Gene count estimation with pytximport enables reproducible analysis of bulk RNA sequencing data in Python.
doi
10.1093/bioinformatics/btae700
pmid
39565903
authors array · 5 items
[0]
Malte Kuehl
[1]
Milagros N Wong
[2]
Nicola Wanner
[3]
Stefan Bonn
[4]
Victor G Puelles
journal
Bioinformatics (Oxford, England)
year
2024
abstract
SUMMARY: Transcript quantification tools efficiently map bulk RNA sequencing (RNA-seq) reads to reference transcriptomes. However, their output consists of transcript count estimates that are subject to multiple biases and cannot be readily used with existing differential gene expression analysis tools in Python.Here we present pytximport, a Python implementation of the tximport R package that supports a variety of input formats, different modes of bias correction, inferential replicates, gene-level summarization of transcript counts, transcript-level exports, transcript-to-gene mapping generation, and optional filtering of transcripts by biotype. pytximport is part of the scverse ecosystem of open-source Python software packages for omics analyses and includes both a Python as well as a command-line interface.With pytximport, we propose a bulk RNA-seq analysis workflow based on Bioconda and scverse ecosystem packages, ensuring reproducible analyses through Snakemake rules. We apply this pipeline to a publicly available RNA-seq dataset, demonstrating how pytximport enables the creation of Python-centric workflows capable of providing insights into transcriptomic alterations. AVAILABILITY AND IMPLEMENTATION: pytximport is licensed under the GNU General Public License version 3. The source code is available at https://github.com/complextissue/pytximport and via Zenodo with DOI: 10.5281/zenodo.13907917. A related Snakemake workflow is available through GitHub at https://github.com/complextissue/snakemake-bulk-rna-seq-workflow and Zenodo with DOI: 10.5281/zenodo.12713811. Documentation and a vignette for new users are available at: https://pytximport.readthedocs.io.
claims array · 2 items
[0] object · 6 fields
id
claim-data-access
statement
The public IgA nephropathy dataset used in the evaluation of pytximport is available via the European Nucleotide Archive with accession: PRJNA593015.
kind
methodological
target
null
evidence array · 1 item
[0] object · 3 fields
asset
source:pmid:39565903
locator
sections[16] "Data availability" paragraph 2
quote
The public IgA nephropathy dataset used in the evaluation of pytximport is available via the European Nucleotide Archive with accession: PRJNA593015.
state
complete
[1] object · 6 fields
id
claim-target-result
statement
Across the tested configurations, pytximport had a median single-core runtime of 1.0–24.4 seconds, compared with 2.2–27.1 seconds for tximport.
kind
qualitative
target
null
evidence array · 1 item
[0] object · 3 fields
asset
source:pmid:39565903
locator
sections[10] "3.2 Performance benchmark" paragraph 2
quote
Depending on the configuration, the median runtime of pytximport ranged from 1.0 to 24.4 s. Similarly, tximport had a median time requirement between 2.2 and 27.1 s (Supplementary Table S2).
state
complete
gaps array · 0 items
experiment object · 8 fields
state
partial
objective
Across the tested configurations, pytximport had a median single-core runtime of 1.0–24.4 seconds, compared with 2.2–27.1 seconds for tximport.
steps array · 3 items
[0] object · 13 fields
id
read_published_estimate
order
1
name
Read the published estimate from the source
kind
other
state
complete
blocked_on
null
description
The claim, method and evidence span published with the source article.
parameters object · 0 fields
inputs array · 1 item
[0]
source:pmid:39565903
outputs array · 1 item
[0]
the published estimate and its evidence
instruments array · 0 items
reagents array · 0 items
[1] object · 13 fields
id
obtain_source_data
order
2
name
Obtain the source data from the named repository
kind
data-preparation
state
blocked
blocked_on
data:accession_unresolved
description
The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.
parameters object · 0 fields
inputs array · 1 item
[0]
data:geo:PRJNA593015
outputs array · 1 item
[0]
the source data with its repository provenance
instruments array · 0 items
reagents array · 0 items
[2] object · 13 fields
id
run_analysis
order
3
name
Run the published analysis
kind
analysis
state
complete
blocked_on
null
description
Apply the paper's statistical method to the resolved series and compare the result with the published target.
parameters object · 0 fields
inputs array · 1 item
[0]
data:geo:PRJNA593015
outputs array · 1 item
[0]
the replicated result and its comparison
instruments array · 0 items
reagents array · 0 items
materials array · 0 items
instruments array · 0 items
reagents array · 0 items
conditions object · 0 fields
gaps array · 1 item
[0]
step:obtain_source_data blocked on data:accession_unresolved
data object · 3 fields
state
partial
assets array · 2 items
[0] object · 15 fields
id
source:pmid:39565903
role
manuscript
format
xml
media_type
application/xml
uri
https://doi.org/10.1093/bioinformatics/btae700
sha256
sha256:8c68cc9cf9613f4f87358d807b1c9bc592c4eb93485c41060419c111df93e963
bytes
15023
access
open
state
resolved
reader
null
reader_status
reader_required
identifier
10.1093/bioinformatics/btae700
version
null
note
Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.
structure object · 4 fields
pmcid
PMC11629965
source
europe_pmc_fulltext
coverage
whole_body_without_references
text_hash_scope
rendered_section_body
[1] object · 15 fields
id
data:geo:PRJNA593015
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=PRJNA593015
sha256
null
bytes
null
access
open
state
resolved
reader
null
reader_status
reader_required
identifier
PRJNA593015
version
null
note
The public IgA nephropathy dataset used in the evaluation of pytximport is available via the European Nucleotide Archive with accession: PRJNA593015.
structure object · 15 fields
repository
GEO
access_route
GEO accession URL
access_statement_verbatim
The public IgA nephropathy dataset used in the evaluation of pytximport is available via the European Nucleotide Archive with accession: PRJNA593015.
access_statement_kind
data_availability_statement
sample_accessions array · 0 items
sample_count
null
group_sizes
null
group_sizes_basis
null
platform
null
taxon
null
title
null
resolution_checked_at
2026-11-01T20:16:20Z
resolution_check
identifier_resolution_only_no_download_no_licence_read
downloaded
false
licence_read
false
gaps array · 2 items
[0]
asset:data:geo:PRJNA593015 not downloaded
[1]
asset:data:geo:PRJNA593015 licence not read
analysis object · 4 fields
state
absent
methods array · 0 items
targets array · 0 items
gaps array · 2 items
[0]
method
[1]
operations
capability object · 3 fields
state
complete
requirements array · 1 item
[0] object · 6 fields
capability_id
capability:computational_analysis
label
Computational analysis platform
assay_families array · 9 items
[0]
meta_analysis
[1]
machine_learning
[2]
survival_analysis
[3]
statistical_regression
[4]
pca
[5]
molecular_docking
[6]
network_analysis
[7]
differential_expression
[8]
gwas
candidate
Automated Assays Laravel application and simulated adapters
gaps array · 0 items
readiness object · 8 fields
state
blocked
tier
R4
blocked_on
data:accession_absent
axes object · 3 fields
method object · 5 fields
tier
R4
expressible
false
required_operations array · 0 items
missing_operations array · 0 items
basis
The reader quoted the method the paper names (not named), but the corpus's method extractor could not map it onto a DSL operation, so the method is published but not expressible.
capability object · 4 fields
tier
R1
capability_id
capability:computational_analysis
availability_state
owned
basis
The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here.
data object · 6 fields
tier
R4
reachable
false
accessions array · 1 item
[0]
PRJNA593015
resolved_accessions array · 0 items
statements array · 1 item
[0]
The public IgA nephropathy dataset used in the evaluation of pytximport is available via the European Nucleotide Archive with accession: PRJNA593015.
basis
The paper names PRJNA593015, but the accession does not resolve in the repository (not_in_ncbi_bioproject), so the data cannot be reached from here. No dataset was downloaded and no licence was read.
can_run object · 3 fields
dsl_operations array · 0 items
assets array · 2 items
[0]
source:pmid:39565903
[1]
data:geo:PRJNA593015
steps array · 1 item
[0]
run_analysis
must_build object · 5 fields
dsl_operations array · 0 items
converters array · 0 items
readers array · 0 items
capabilities array · 0 items
data_gaps array · 1 item
[0]
data:geo:PRJNA593015
gaps array · 1 item
[0]
data:accession_absent
review object · 5 fields
state
partial
machine_critique object · 5 fields
kind
extraction_review
reader object · 5 fields
model
MiniMax-M3.1-Flash
provider
minimax
provider_family
minimax
read_at
2026-11-01T19:38:59Z
independence
single_reader
evidence_check object · 2 fields
method
null
availability
verbatim
calls
5
usage object · 3 fields
prompt_tokens
5304
completion_tokens
1074
cached_tokens
264
stages array · 1 item
[0] object · 4 fields
id
extraction
state
complete
reader
MiniMax-M3.1-Flash
provider
minimax
gaps array · 3 items
[0]
review.independent_reader
[1]
review.machine_critique
[2]
review.human_critique
execution object · 5 fields
state
absent
status
not_run
mode
null
runs array · 0 items
gaps array · 1 item
[0]
execution.not_run
provenance object · 7 fields
entities array · 3 items
[0] object · 3 fields
id
pmid:39565903
type
paper
label
pmid:39565903
[1] object · 3 fields
id
source:pmid:39565903
type
manuscript
label
PMID 39565903 full text
[2] object · 3 fields
id
data:geo:PRJNA593015
type
dataset
label
GEO PRJNA593015
activities array · 3 items
[0] object · 4 fields
id
activity-reading-sci-2026-11-01
type
classification
used array · 3 items
[0] object · 3 fields
id
pmid:39565903
type
paper
label
pmid:39565903
[1] object · 3 fields
id
source:pmid:39565903
type
manuscript
label
PMID 39565903 full text
[2] object · 3 fields
id
data:geo:PRJNA593015
type
dataset
label
GEO PRJNA593015
agent
agent:corpus-assay-engine
[1] object · 4 fields
id
activity-read-39565903
type
extraction
used array · 1 item
[0]
source:pmid:39565903
agent
agent:minimax-reader
[2] object · 4 fields
id
activity-resolve-PRJNA593015
type
accession_resolution
used array · 1 item
[0]
data:geo:PRJNA593015
agent
agent:corpus-assay-engine
agents array · 2 items
[0] object · 3 fields
id
agent:corpus-assay-engine
type
software
label
Corpus assay engine
[1] object · 3 fields
id
agent:minimax-reader
type
software
label
MiniMax literature reader
source_run_id
reading-sci-2026-11-01
dsl_catalogue_fingerprint
343fb30756ba6ec3
capability_table_fingerprint
2cb3e42f047d2ecf
snapshot_id
ba34b49490d9bfaf
lineage object · 4 fields
gaps array · 9 items
[0]
asset:data:geo:PRJNA593015 licence not read
[1]
asset:data:geo:PRJNA593015 not downloaded
[2]
execution.not_run
[3]
method
[4]
operations
[5]
review.human_critique
[6]
review.independent_reader
[7]
review.machine_critique
[8]
step:obtain_source_data blocked on data:accession_unresolved
assays array · 1 item
[0] object · 11 fields
role
data_generation
definition_id
rna_seq
definition_version
99e1195c7d6f
required_operations array · 0 items
support_state
partial
source_hashes object · 1 field
assay_lexicon
99e1195c7d6f
confidence
0.99
evidence array · 4 items
[0]
import enables reproducible analysis of bulk RNA sequencing data in Python.
[1]
n tools efficiently map bulk RNA sequencing (RNA-seq) reads to reference transcriptomes. However,
[2]
interface.With pytximport, we propose a bulk RNA-seq analysis workflow based on Bioconda and scve
[3]
ps://github.com/complextissue/snakemake-bulk-rna-seq-workflow and Zenodo with DOI: 10.5281/zenodo
order_basis
paper_text_order:31
id
assay:1
Complete file
{"sci_version": "1.2", "schema": "https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json", "id": "pmid:39565903", "kind": "science-record", "revision": 1, "content_hash": "sha256:59c9fcab8e52cd5be0c0f3bea1f5ffe397c2ac86316ff6abe4d805267adc19b7", "created_at": "2026-11-01T20:29:49Z", "updated_at": "2026-11-01T20:29:49Z", "generator": {"name": "corpus-assay-engine", "run_id": "reading-sci-2026-11-01"}, "paper": {"state": "complete", "title": "Gene count estimation with pytximport enables reproducible analysis of bulk RNA sequencing data in Python.", "doi": "10.1093/bioinformatics/btae700", "pmid": "39565903", "authors": ["Malte Kuehl", "Milagros N Wong", "Nicola Wanner", "Stefan Bonn", "Victor G Puelles"], "journal": "Bioinformatics (Oxford, England)", "year": 2024, "abstract": "SUMMARY: Transcript quantification tools efficiently map bulk RNA sequencing (RNA-seq) reads to reference transcriptomes. However, their output consists of transcript count estimates that are subject to multiple biases and cannot be readily used with existing differential gene expression analysis tools in Python.Here we present pytximport, a Python implementation of the tximport R package that supports a variety of input formats, different modes of bias correction, inferential replicates, gene-level summarization of transcript counts, transcript-level exports, transcript-to-gene mapping generation, and optional filtering of transcripts by biotype. pytximport is part of the scverse ecosystem of open-source Python software packages for omics analyses and includes both a Python as well as a command-line interface.With pytximport, we propose a bulk RNA-seq analysis workflow based on Bioconda and scverse ecosystem packages, ensuring reproducible analyses through Snakemake rules. We apply this pipeline to a publicly available RNA-seq dataset, demonstrating how pytximport enables the creation of Python-centric workflows capable of providing insights into transcriptomic alterations.\nAVAILABILITY AND IMPLEMENTATION: pytximport is licensed under the GNU General Public License version 3. The source code is available at https://github.com/complextissue/pytximport and via Zenodo with DOI: 10.5281/zenodo.13907917. A related Snakemake workflow is available through GitHub at https://github.com/complextissue/snakemake-bulk-rna-seq-workflow and Zenodo with DOI: 10.5281/zenodo.12713811. Documentation and a vignette for new users are available at: https://pytximport.readthedocs.io.", "claims": [{"id": "claim-data-access", "statement": "The public IgA nephropathy dataset used in the evaluation of pytximport is available via the European Nucleotide Archive with accession: PRJNA593015.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:39565903", "locator": "sections[16] \"Data availability\" paragraph 2", "quote": "The public IgA nephropathy dataset used in the evaluation of pytximport is available via the European Nucleotide Archive with accession: PRJNA593015."}], "state": "complete"}, {"id": "claim-target-result", "statement": "Across the tested configurations, pytximport had a median single-core runtime of 1.0–24.4 seconds, compared with 2.2–27.1 seconds for tximport.", "kind": "qualitative", "target": null, "evidence": [{"asset": "source:pmid:39565903", "locator": "sections[10] \"3.2 Performance benchmark\" paragraph 2", "quote": "Depending on the configuration, the median runtime of pytximport ranged from 1.0 to 24.4 s. Similarly, tximport had a median time requirement between 2.2 and 27.1 s (Supplementary Table S2)."}], "state": "complete"}], "gaps": []}, "experiment": {"state": "partial", "objective": "Across the tested configurations, pytximport had a median single-core runtime of 1.0–24.4 seconds, compared with 2.2–27.1 seconds for tximport.", "steps": [{"id": "read_published_estimate", "order": 1, "name": "Read the published estimate from the source", "kind": "other", "state": "complete", "blocked_on": null, "description": "The claim, method and evidence span published with the source article.", "duration_hours": null, "parameters": {}, "inputs": ["source:pmid:39565903"], "outputs": ["the published estimate and its evidence"], "instruments": [], "reagents": []}, {"id": "obtain_source_data", "order": 2, "name": "Obtain the source data from the named repository", "kind": "data-preparation", "state": "blocked", "blocked_on": "data:accession_unresolved", "description": "The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.", "duration_hours": null, "parameters": {}, "inputs": ["data:geo:PRJNA593015"], "outputs": ["the source data with its repository provenance"], "instruments": [], "reagents": []}, {"id": "run_analysis", "order": 3, "name": "Run the published analysis", "kind": "analysis", "state": "complete", "blocked_on": null, "description": "Apply the paper's statistical method to the resolved series and compare the result with the published target.", "duration_hours": null, "parameters": {}, "inputs": ["data:geo:PRJNA593015"], "outputs": ["the replicated result and its comparison"], "instruments": [], "reagents": []}], "materials": [], "instruments": [], "reagents": [], "conditions": {}, "gaps": ["step:obtain_source_data blocked on data:accession_unresolved"]}, "data": {"state": "partial", "assets": [{"id": "source:pmid:39565903", "role": "manuscript", "format": "xml", "media_type": "application/xml", "uri": "https://doi.org/10.1093/bioinformatics/btae700", "sha256": "sha256:8c68cc9cf9613f4f87358d807b1c9bc592c4eb93485c41060419c111df93e963", "bytes": 15023, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "10.1093/bioinformatics/btae700", "version": null, "note": "Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.", "structure": {"pmcid": "PMC11629965", "source": "europe_pmc_fulltext", "coverage": "whole_body_without_references", "text_hash_scope": "rendered_section_body"}}, {"id": "data:geo:PRJNA593015", "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=PRJNA593015", "sha256": null, "bytes": null, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "PRJNA593015", "version": null, "note": "The public IgA nephropathy dataset used in the evaluation of pytximport is available via the European Nucleotide Archive with accession: PRJNA593015.", "structure": {"repository": "GEO", "access_route": "GEO accession URL", "access_statement_verbatim": "The public IgA nephropathy dataset used in the evaluation of pytximport is available via the European Nucleotide Archive with accession: PRJNA593015.", "access_statement_kind": "data_availability_statement", "sample_accessions": [], "sample_count": null, "group_sizes": null, "group_sizes_basis": null, "platform": null, "taxon": null, "title": null, "resolution_checked_at": "2026-11-01T20:16:20Z", "resolution_check": "identifier_resolution_only_no_download_no_licence_read", "downloaded": false, "licence_read": false}}], "gaps": ["asset:data:geo:PRJNA593015 not downloaded", "asset:data:geo:PRJNA593015 licence not read"]}, "analysis": {"state": "absent", "methods": [], "targets": [], "gaps": ["method", "operations"]}, "capability": {"state": "complete", "requirements": [{"capability_id": "capability:computational_analysis", "label": "Computational analysis platform", "assay_families": ["meta_analysis", "machine_learning", "survival_analysis", "statistical_regression", "pca", "molecular_docking", "network_analysis", "differential_expression", "gwas"], "availability_state": "owned", "tier_unlocked": "R1", "candidate": "Automated Assays Laravel application and simulated adapters"}], "gaps": []}, "readiness": {"state": "blocked", "tier": "R4", "blocking_axis": "data", "blocked_on": "data:accession_absent", "axes": {"method": {"tier": "R4", "expressible": false, "required_operations": [], "missing_operations": [], "basis": "The reader quoted the method the paper names (not named), but the corpus's method extractor could not map it onto a DSL operation, so the method is published but not expressible."}, "capability": {"tier": "R1", "capability_id": "capability:computational_analysis", "availability_state": "owned", "basis": "The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here."}, "data": {"tier": "R4", "reachable": false, "accessions": ["PRJNA593015"], "resolved_accessions": [], "statements": ["The public IgA nephropathy dataset used in the evaluation of pytximport is available via the European Nucleotide Archive with accession: PRJNA593015."], "basis": "The paper names PRJNA593015, but the accession does not resolve in the repository (not_in_ncbi_bioproject), so the data cannot be reached from here. No dataset was downloaded and no licence was read."}}, "can_run": {"dsl_operations": [], "assets": ["source:pmid:39565903", "data:geo:PRJNA593015"], "steps": ["run_analysis"]}, "must_build": {"dsl_operations": [], "converters": [], "readers": [], "capabilities": [], "data_gaps": ["data:geo:PRJNA593015"]}, "gaps": ["data:accession_absent"]}, "review": {"state": "partial", "machine_critique": {"kind": "extraction_review", "reader": {"model": "MiniMax-M3.1-Flash", "provider": "minimax", "provider_family": "minimax", "read_at": "2026-11-01T19:38:59Z", "independence": "single_reader"}, "evidence_check": {"method": null, "availability": "verbatim"}, "calls": 5, "usage": {"prompt_tokens": 5304, "completion_tokens": 1074, "cached_tokens": 264}}, "human_critique": null, "stages": [{"id": "extraction", "state": "complete", "reader": "MiniMax-M3.1-Flash", "provider": "minimax"}], "gaps": ["review.independent_reader", "review.machine_critique", "review.human_critique"]}, "execution": {"state": "absent", "status": "not_run", "mode": null, "runs": [], "gaps": ["execution.not_run"]}, "provenance": {"entities": [{"id": "pmid:39565903", "type": "paper", "label": "pmid:39565903"}, {"id": "source:pmid:39565903", "type": "manuscript", "label": "PMID 39565903 full text"}, {"id": "data:geo:PRJNA593015", "type": "dataset", "label": "GEO PRJNA593015"}], "activities": [{"id": "activity-reading-sci-2026-11-01", "type": "classification", "used": [{"id": "pmid:39565903", "type": "paper", "label": "pmid:39565903"}, {"id": "source:pmid:39565903", "type": "manuscript", "label": "PMID 39565903 full text"}, {"id": "data:geo:PRJNA593015", "type": "dataset", "label": "GEO PRJNA593015"}], "agent": "agent:corpus-assay-engine"}, {"id": "activity-read-39565903", "type": "extraction", "used": ["source:pmid:39565903"], "agent": "agent:minimax-reader"}, {"id": "activity-resolve-PRJNA593015", "type": "accession_resolution", "used": ["data:geo:PRJNA593015"], "agent": "agent:corpus-assay-engine"}], "agents": [{"id": "agent:corpus-assay-engine", "type": "software", "label": "Corpus assay engine"}, {"id": "agent:minimax-reader", "type": "software", "label": "MiniMax literature reader"}], "source_run_id": "reading-sci-2026-11-01", "dsl_catalogue_fingerprint": "343fb30756ba6ec3", "capability_table_fingerprint": "2cb3e42f047d2ecf", "snapshot_id": "ba34b49490d9bfaf"}, "lineage": {"parent_id": null, "parent_hash": null, "fork_of": null, "generation": 0}, "gaps": ["asset:data:geo:PRJNA593015 licence not read", "asset:data:geo:PRJNA593015 not downloaded", "execution.not_run", "method", "operations", "review.human_critique", "review.independent_reader", "review.machine_critique", "step:obtain_source_data blocked on data:accession_unresolved"], "assays": [{"role": "data_generation", "definition_id": "rna_seq", "definition_version": "99e1195c7d6f", "definition_digest": null, "required_operations": [], "support_state": "partial", "source_hashes": {"assay_lexicon": "99e1195c7d6f"}, "confidence": 0.99, "evidence": ["import enables reproducible analysis of bulk RNA sequencing data in Python.", "n tools efficiently map bulk RNA sequencing (RNA-seq) reads to reference transcriptomes. However,", "interface.With pytximport, we propose a bulk RNA-seq analysis workflow based on Bioconda and scve", "ps://github.com/complextissue/snakemake-bulk-rna-seq-workflow and Zenodo with DOI: 10.5281/zenodo"], "order_basis": "paper_text_order:31", "id": "assay:1"}]}