a Python library and command line tool to make GEO data into gold.
Project description
geo-alchemy
a Python library and command line tool to make GEO data into gold.
why geo-alchemy
GEO is like a gold mine that contains a huge many gold ore. But processing these gold ore(GEO series) into gold(expression matrix, clinical data) is not very easy:
- how to map microarray probe to gene?
- how about multiple probes map to same gene?
- hot to get clinical data?
- ...
geo-alchemy was born to deal with it.
installation
If you only want use as Python library:
pip install geo-alchemy
If you also want use as command line software:
pip install 'geo-alchemy[cmd]'
use as Python library
parse metadata from GEO
parse platform
from geo_alchemy import PlatformParser
parser = PlatformParser.from_accession('GPL570')
platform1 = parser.parse()
# or
platform2 = PlatformParser.from_accession('GPL570').parse()
print(platform1 == platform2)
# get platform annotation data
platform = PlatformParser.from_accession('GPL570', view='full').parse()
print(platform.internal_data)
parse sample
from geo_alchemy import SampleParser
parser = SampleParser.from_accession('GSM1885279')
sample1 = parser.parse()
# or
sample2 = SampleParser.from_accession('GSM1885279').parse()
print(sample1 == sample2)
parse series
from geo_alchemy import SeriesParser
parser = SeriesParser.from_accession('GSE73091')
series1 = parser.parse()
# or
series2 = SeriesParser.from_accession('GSE73091').parse()
print(series1 == series2)
print(series1.platforms)
print(series1.samples)
print(series1.organisms)
serialization and deserialization
For the convenience of saving, all objects in geo-alchemy can be converted to dict, and this dict can be directly saved to a file in json form.
Moreover, geo-alchemy also provides methods to convert these dicts into objects.
from geo_alchemy import SeriesParser
series1 = SeriesParser.from_accession('GSE73091').parse()
data = series1.to_dict()
series2 = SeriesParser.parse_dict(data)
print(series1 == series2)
use as command line software
using OCM
OCM(object command mapping) is a Python framework mapping Python object to command line software. It can capture intermediate results of command, you can enable OCM output like this:
geo-alchemy xxx --ocmir
preprocessing(microarray series only)
geo-alchemy pp -s GSE174772 -p GPL570 -g 11
-s GSE174772
means preprocessing for GSE174772-p GPL570
means preprocessing samples who use GPL570 of GSE174772-g 11
means NO.11 column of GPL570 annotation file is gene
this command generate 2 files under current directory:
- clinical file
GSE174772_clinical.txt
- gene expression file
GSE174772_expression.txt
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for geo_alchemy-0.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 250209f3d3efd98da3eba26c45a49d75edad245760fba8980cd90392efbf8d6e |
|
MD5 | b3bc74bc5c5bcdf39ea277d4b5d2154e |
|
BLAKE2b-256 | e79b50e460fdfc830548060e85af42e731880937d85d1f89b10c3e2552f900c0 |