When working with publicly available data one often has to first find them in GEO, and then download the raw reads from the SRA archive database. I've been using the Entrez Direct tools from NCBI for this.
For example, using Entrez Direct tools from NCBI, I can put in the following query:
esearch -db sra -query GSM1467783 | efetch -format runinfo
And get the following output:
Run,ReleaseDate,LoadDate,spots,bases,spots_with_mates,avgLength,size_MB,AssemblyName,download_path,Experiment,LibraryName,LibraryStrategy,LibrarySelection,LibrarySource,LibraryLayout,InsertSize,InsertDev,Platform,Model,SRAStudy,BioProject,Study_Pubmed_id,ProjectID,Sample,BioSample,SampleType,TaxID,ScientificName,SampleName,g1k_pop_code,source,g1k_analysis_group,Subject_ID,Sex,Disease,Tumor,Affection_Status,Analyte_Type,Histological_Type,Body_Site,CenterName,Submission,dbgap_study_accession,Consent,RunHash,ReadHash SRR1539207,2015-07-22,2015-12-01,37427735,1871386750,0,50,1424,,https://sra-download.ncbi.nlm.nih.gov/srapub/SRR1539207,SRX672143,,RNA-Seq,cDNA,TRANSCRIPTOMIC,SINGLE,0,0,ILLUMINA,Illumina HiSeq 2000,SRP045352,PRJNA257777,2,257777,SRS676636,SAMN02978909,simple,9606,Homo sapiens,GSM1467783,,,,,,,no,,,,,GEO,SRA178460,,public,B5573983CBB9C5E2046EB16D1C15A72F,25EC9BD6214D8EC0E7B270D41E6E861F
Now, I'm looking for a way to do it offline - to generate a big reference of GSM-to-.sra file correspondence, so by specifying the GSM ID or several, I can download all the relevant .sra file from the ftp.
I've found some R package wrappers around SQL databases; however, I'm puzzled that no table in SRAdb (I believe I've checked them all) includes GSM ids. I also haven't found the SRX/SRR ids in the GEOmetadb tables, although I might have missed something there.
At any rate, is there any database that establishes the correspondence between GSM and SRX/SRR identifiers?
If anybody can help me out with this, I'd be very grateful.