Not sure that you can get from GSE to SRR in one step, but EUtils is definitely the way to go.
You can get from GSE to SRX using EDirect like this (using
head to show the first 5 results):
esearch -db gds -query "GSE44183[ACCN] AND GSM[ETYP]" | efetch -format docsum | \
xtract -pattern ExtRelation -element RelationType,TargetObject | head -5
Then you could write the SRX to a file, parse and use in a new
esearch -db sra -query "SRX300901[ACCN]" | efetch -format docsum | xtract -element Runs
<Run acc="SRR893074" total_spots="22020236" total_bases="3963642480" load_done="true" is_public="true" cluster_name="public" static_data_available="true"/>
That does not quite get you there, since the SRR is contained in an attribute. You may want to use the XML parser of your choice, rather than EDirect
xtract, to process the XML returned by
Another approach that I have not yet explored: it may be possible to parse a GEO SOFT or MINiML file, which should be obtainable from the FTP site using the original GSE accession.