History¶
Unreleased
Modernize GitHub Actions for tests, documentation builds, and package publishing.
Build documentation with the Furo theme and refreshed site styling.
Execute notebooks during documentation builds while keeping large downloads and local model services as explicit previews.
Add optional metadata enrichment documentation that reflects the current
pysradb.enrichmentAPI and backend requirements.Restore
SRAweb.download()support used by the command-line download workflow.Fix
gse-to-srpcommand routing and GSE-to-SRP fallback behavior when GEO rows lack SRP accessions.Add SEO metadata, sitemap support, and
robots.txtfor the documentation site.Refresh notebook ordering, notebook links, and documentation flow.
2.5.1 (2025-10-29)
Add prjna support in doi-to-identifiers #249
2.5.0 (2025-10-19)
Add pmid/doi-to-gse/srp conversion #246.
2.4.1 (2025-09-27)
Add gse-to-pmid conversion #241.
2.4.0 (2025-09-27)
Add sra-to-pmid conversion #241. Thanks @andrewdavidsmith for the idea.
2.3.0 (2025-08-24)
Download logic improvements: remoted requests-ftp as requirement
Fix for handling missing metadata keys #223. Thanks @andrewdavidsmith
2.2.2 (2024-10-03)
Fix for handling ENA urls for paired end data
2.2.1 (2024-08-21)
Fix for handling ENA urls
Migrated to pyproject.toml
2.2.0 (2023-09-17)
Add support for Biosamples and bioproject #199
Use retmode xml for Geo search #200
Documentation fixes
2.1.0 (2023-05-16)¶
2.0.2 (2023-04-09)¶
2.0.1 (2023-03-18)¶
Fix for [pysradb download] - using [public_url]
Fix for SRX -> SRR and related conversions #183
2.0.0 (2023-02-23)¶
BREAKING change: Overhaul of how urls and associated metadata are returned (not backward compatible); all column names are lower cased by default
Fix extra space in “organism_taxid” column
Added support for Experiment attributes #89
1.4.2 (06-17-2022)¶
Fix ENA fastq fetching #163
1.4.1 (06-04-2022)¶
Fix for fetching alternative URLs
1.4.0 (06-04-2022)¶
1.3.0 (02-18-2022)¶
1.2.0 (01-10-2022)¶
Do not exit if a qeury returns no hits (#149)
1.1.0 (12-12-2021)¶
1.0.1 (01-10-2021)¶
Dropped Python 3.6 since pandas 1.2 is not supported
1.0.0 (01-09-2021)¶
0.11.1 (09-18-2020)¶
[library_layout] is now outputted in metadata #56
[-detailed] unifies columns for ENA fastq links instead of appending _x/_y #59
bugfix for parsing namespace in xml outputs #65
XML errors from NCBI are now handled more gracefully #69
Documentation and dependency updates
0.11.0 (09-04-2020)¶
[pysradb download] now supports multiple threads for paralle downloads
[pysradb download] also supports ultra fast downloads of FASTQs from ENA using aspera-client
0.10.3 (03-26-2020)¶
Added test cases for SRAweb
API limit exceeding errors are automagically handled
Bug fixes for GSE <=> SRR
Bug fix for metadata - supports multiple SRPs
Contributors
Dibya Gautam
Marius van den Beek
0.10.2 (02-05-2020)¶
Bug fix: Handle API-rate limit exceeding => Retries
Enhancement: ‘Alternatives’ URLs are now part of [–detailed]
0.10.1 (02-04-2020)¶
Bug fix: Handle Python3.6 for capture_output in subprocess.run
0.10.0 (01-31-2020)¶
All the subcommands (srx-to-srr, srx-to-srs) will now print additional columns where the first two columns represent the relevant conversion
Fixed a bug where for fetching entries with single efetch record
0.9.9 (01-15-2020)¶
Major fix: some SRRs would go missing as the experiment dict was being created only once per SRR (See #15)
Features: More detailed metadata by default in the SRAweb mode
See notebook: https://colab.research.google.com/drive/1C60V-
0.9.7 (01-20-2020)¶
Feature: instrument, run size and total spots are now printed in the metadata by default (SRAweb mode only)
Issue: Fixed an issue with srapath failing on SRP. srapath is now run on individual SRRs.
0.9.6 (07-20-2019)¶
Introduced [SRAweb] to perform queries over the web if the SQLite is missing or does not contain the relevant record.
0.9.0 (02-27-2019)¶
Others¶
This release completely changes the command line interface replacing click with argparse (#3)
Removed Python 2 comptaible stale code
0.8.0 (02-26-2019)¶
New methods/functionality¶
`srr-to-gsm`: convert SRR to GSM
SRAmetadb.sqlite.gz file is deleted by default after extraction
When SRAmetadb is not found a confirmation is seeked before downloading
Confirmation option before SRA downloads
Bugfix¶
download() works with wget
Others¶
[–out_dir] is now [out-dir]
0.7.1 (02-18-2019)¶
Important: Python2 is no longer supported. Please consider moving to Python3.
Bugfix¶
Included docs in the index whihch were missed out in the previous release
0.7.0 (02-08-2019)¶
New methods/functionality¶
`gsm-to-srr`: convert GSM to SRR
`gsm-to-srx`: convert GSM to SRX
`gsm-to-gse`: convert GSM to GSE
Renamed methods¶
The following commad line options have been renamed and the changes are not compatible with 0.6.0 release:
[sra-metadata] -> [metadata].
[sra-search] -> [search].
[srametadb] -> [metadb].
0.6.0 (12-25-2018)¶
Bugfix¶
Fixed bugs introduced in 0.5.0 with API changes where multiple redundant columns were output in [sra-metadata]
New methods/functionality¶
[download] now allows piped inputs
0.5.0 (12-24-2018)¶
New methods/functionality¶
Support for filtering by SRX Id for SRA downloads.
`srr_to_srx`: Convert SRR to SRX/SRP
`srp_to_srx`: Convert SRP to SRX
Stripped down [sra-metadata] to give minimal information
Added [–assay], [–desc], [–detailed] flag for [sra-metadata]
Improved table printing on terminal
0.4.2 (12-16-2018)¶
Bugfix¶
Fixed unicode error in tests for Python2
0.4.0 (12-12-2018)¶
New methods/functionality¶
Added a new [BASEdb] class to handle common database connections
Initial support for GEOmetadb through GEOdb class
Initial support or a command line interface:
download Download SRA project (SRPnnnn)
gse-metadata Fetch metadata for GEO ID (GSEnnnn)
gse-to-gsm Get GSM(s) for GSE
gsm-metadata Fetch metadata for GSM ID (GSMnnnn)
sra-metadata Fetch metadata for SRA project (SRPnnnn)
Added three separate notebooks for SRAdb, GEOdb, CLI usage
0.3.0 (12-05-2018)¶
New methods/functionality¶
[sample_attribute] and [experiment_attribute] are now included by default in the df returned by [sra_metadata()]
[expand_sample_attribute_columns: expand metadata dataframe based on attributes in `sample_attribute] column
New methods to guess cell/tissue/strain: [guess_cell_type()]/[guess_tissue_type()]/[guess_strain_type()]
Improved README and usage instructions
0.2.2 (12-03-2018)¶
New methods/functionality¶
[search_sra()] allows full text search on SRA metadata.
0.2.0 (12-03-2018)¶
Renamed methods¶
The following methods have been renamed and the changes are not compatible with 0.1.0 release:
[get_query()] -> [query()].
[sra_convert()] -> [sra_metadata()].
[get_table_counts()] -> [all_row_counts()].
New methods/functionality¶
[download_sradb_file()] makes fetching [SRAmetadb.sqlite] file easy; wget is no longer required.
[ftp] protocol is now supported besides [fsp] and hence [aspera-client] is now optional. We however, strongly recommend [aspera-client] for faster downloads.
Bug fixes¶
Silenced [SettingWithCopyWarning] by excplicitly doing operations on a copy of the dataframe instead of the original.
Besides these, all methods now follow a [numpydoc] compatible documentation.
0.1.0 (12-01-2018)¶
First release on PyPI.