Use proteomics data from PRIDE Data (adipose tissue)#
This notebook shows how acore can be used to download data from
the Proteomics Identifications Database - PRIDE -
(ebi.ac.uk/pride/)
and parse the data to be used in the analytics core
and quickly formated to start analyzing them with the functionality in the analytics core.
based on CKG recipe: Download PRIDE Data
%pip install acore
Parameters#
Specify the PRIDE identifier and file to be downloaded and where to store intermediate files.
pxd_id: str = "PXD008541" # PRIDE identifier
fname = "SearchEngineResults_secretome.zip.rar" # file to download
folder_downloads = Path("downloaded") # folder to download the file
folder_unzipped = Path("unzipped") # folder to uncompress the file
Specify the PRIDE identifier and file to be downloaded#
We can use functionality in acore to directly download data files from EBI’s
PRIDE database ebi.ac.uk/pride/.
For that you just need to specify the
PRIDE identifier for the project (PXD_...) and the name of the file to download.
In this case, the project identifier is PXD008541 and the file we will use
is SearchEngineResults_secretome.zip.rar,
a RAR compressed file with the output files from MaxQuant.
ret = acore.io.download_PRIDE_data(pxd_id=pxd_id, file_name=fname, to=folder_downloads)
ret["acore_downloaded_file"] = folder_downloads / fname
ret
{'accession': 'PXD008541',
'title': 'Human primary brown and white fat cell secretome',
'additionalAttributes': [],
'projectDescription': 'Secreted proteins from adipose tissue play a role in metabolic cross-talk and homeostasis. We performed high sensitivity mass spectrometry-based proteomics on the cell media of human adipocytes derived from the supraclavicular brown adipose and from the subcutaneous white adipose depots of adult humans. We identified 471 potentially secreted proteins covering interesting protein categories such as hormones, growth factors, extracellular matrix proteins and proteins of the complement system, which were differentially regulated in brown and white adipocytes. A total of 101 proteins were exclusively quantified in brown adipocytes and among these were ependymin-related protein 1 (EPDR1). Functional studies suggested a role for EPDR1 in thermogenic adipogenesis. In conclusion, we report substantial differences between the secretomes of brown and white human adipocytes and identify novel candidate batokines that can be important regulators of metabolism.',
'sampleProcessingProtocol': 'Proteins from the conditioned media from brown and white fat cells were denatured with 2M urea, acetone precipitated overnight and digested using LysC and Trypsin enzymes. For the cellular proteome, samples were preapred according to iST protocol (Kulak et al 2014). The peptides were analyzed using LC-MS instrumentation consisting of an Easy nanoflow UHPLC (Thermo Fischer Scientific) coupled via a nanoelectrospray ion source (Thermo Fischer Scientific) to a Q Exactive mass spectrometer.Peptides were separated on a 50 cm column with 75 µm inner diameter packed in-house with ReproSil-Pur C18-aq 1.9 µm resin (Dr. Maisch). Peptides were loaded in buffer containing 0.5% formic acid and eluted with a 160 min linear gradient with buffer containing 80% acetonitrile and 0.5% formic acid (v/v) at 250 nL/min. Chromatography and column oven (Sonation GmbH) temperature were controlled and monitored in real time using SprayQC.',
'dataProcessingProtocol': 'The raw files for secretome and cellular proteome were analyzed in the MaxQuant environment (Tyanova et al., 2016). The initial maximum allowed mass deviation was set to 6 ppm for monoisotopic precursor ions and 20 ppm for MS/MS peaks. Enzyme specificity was set to trypsin, defined as C-terminal to arginine and lysine excluding proline, and a maximum of two missed cleavages was allowed. A minimal peptide length of six amino acids was required. Carbamidomethylcysteine was set as a fixed modification, while N-terminal acetylation and methionine oxidation were set as variable modification. The spectra were searched by the Andromeda search engine against the human UniProt sequence database with 248 common contaminants and concatenated with the reversed versions of all sequences. The false discovery rate (FDR) was set to 1% for peptide and protein identifications. The peptide identifications across different LC-MS runs were matched by enabling the ‘match between runs’ feature in MaxQuant with a retention time window of 30 s. If the identified peptides were shared between two or more proteins, these were combined and reported in protein group. Contaminants and reverse identifications were removed from further data analysis. Protein quantification was based on the Max LFQ algorithm integrated into the MaxQuant software (Cox et al., 2014).',
'projectTags': [],
'keywords': ['Metabolism', 'Secretomics', 'White fat', 'Brown fat', 'Lcms'],
'doi': '',
'submissionType': 'PARTIAL',
'license': 'Creative Commons Public Domain (CC0)',
'submissionDate': '2019-09-19',
'publicationDate': '2019-10-03',
'submitters': [{'title': 'Professor',
'firstName': 'atul shahaji',
'lastName': 'deshmukh',
'identifier': '61050142',
'affiliation': 'Copenhagen University',
'email': 'atul.deshmukh@cpr.ku.dk',
'country': 'Denmark',
'orcid': '0000-0002-2278-1843',
'name': 'atul shahaji deshmukh',
'id': '61050142'}],
'labPIs': [{'title': 'Dr',
'firstName': 'Matthias',
'lastName': 'Mann',
'identifier': '160150100',
'affiliation': 'The Novo Nordisk Foundation Center for Protein Research, Faculty of Health and Medical Sciences, University of Copenhagen, Copenhagen, Denmark.',
'email': 'mmann@biochem.mpg.de',
'country': '',
'orcid': '',
'name': 'Matthias Mann',
'id': '160150100'}],
'instruments': [{'@type': 'CvParam',
'cvLabel': 'MS',
'accession': 'MS:1001911',
'name': 'Q Exactive'}],
'softwares': [{'@type': 'CvParam',
'cvLabel': 'MS',
'accession': 'MS:1001583',
'name': 'MaxQuant'}],
'experimentTypes': [{'@type': 'CvParam',
'cvLabel': 'PRIDE',
'accession': 'PRIDE:0000429',
'name': 'Shotgun proteomics'}],
'quantificationMethods': [{'@type': 'CvParam',
'cvLabel': 'PRIDE',
'accession': 'PRIDE:0000312',
'name': 'Label free'}],
'countries': ['Denmark'],
'sampleAttributes': [{'@type': 'Tuple',
'key': {'cvLabel': 'EFO',
'accession': 'EFO:0000635',
'name': 'organism part'},
'value': [{'cvLabel': 'CL',
'accession': 'CL:0000449',
'name': 'brown fat cell'},
{'cvLabel': 'BTO',
'accession': 'BTO:0000156',
'name': 'brown adipose tissue'},
{'cvLabel': 'BTO',
'accession': 'BTO:0001456',
'name': 'white adipose tissue'},
{'cvLabel': 'CL', 'accession': 'CL:0000448', 'name': 'white fat cell'}]},
{'@type': 'Tuple',
'key': {'cvLabel': 'EFO', 'accession': 'OBI:0100026', 'name': 'organism'},
'value': [{'cvLabel': 'NEWT',
'accession': 'NEWT:9606',
'name': 'Homo sapiens (Human)'}]}],
'organisms': [{'@type': 'CvParam',
'cvLabel': 'NEWT',
'accession': 'NEWT:9606',
'name': 'Homo sapiens (human)'}],
'organismParts': [{'@type': 'CvParam',
'cvLabel': 'BTO',
'accession': 'BTO:0000156',
'name': 'Brown adipose tissue'},
{'@type': 'CvParam',
'cvLabel': 'BTO',
'accession': 'BTO:0001456',
'name': 'White adipose tissue'},
{'@type': 'CvParam',
'cvLabel': 'CL',
'accession': 'CL:0000448',
'name': 'White fat cell'},
{'@type': 'CvParam',
'cvLabel': 'CL',
'accession': 'CL:0000449',
'name': 'Brown fat cell'}],
'diseases': [],
'references': [],
'identifiedPTMStrings': [{'@type': 'CvParam',
'cvLabel': 'PRIDE',
'accession': 'PRIDE:0000398',
'name': 'No PTMs are included in the dataset'}],
'totalFileDownloads': 9473,
'botCount': 1252,
'hubCount': 7985,
'organicCount': 236,
'acore_downloaded_file': PosixPath('downloaded/SearchEngineResults_secretome.zip.rar')}
Decompress rar File#
Pride results are compressed by the researcher themself, so many different file formats can be found. Here it was stored as a RAR archive. You will need to have a system installation of a rar archive tool to decompress the file, find it via google.
# ! you need a system installation of a rar archive tool
acore.io.unrar(filepath=ret["acore_downloaded_file"], to=folder_unzipped)
Extracting files: ['proteinGroups.txt', 'experimentalDesignTemplate.txt', 'modificationSpecificPeptides.txt', 'msms.txt', 'parameters.txt', 'peptides.txt']
The list of files within the compressed folder
list(folder_unzipped.iterdir())
[PosixPath('unzipped/peptides.txt'),
PosixPath('unzipped/experimentalDesignTemplate.txt'),
PosixPath('unzipped/modificationSpecificPeptides.txt'),
PosixPath('unzipped/proteinGroups.txt'),
PosixPath('unzipped/msms.txt'),
PosixPath('unzipped/parameters.txt')]
Read and clean the data#
We use the proteinGroups file that contains the proteomics data processed using MaxQuant software.
fpath_proteinGroups = folder_unzipped / "proteinGroups.txt"
index_cols = [
"Majority protein IDs",
]
data = pd.read_csv(fpath_proteinGroups, index_col=index_cols, sep="\t")
data.sample(5)
| Protein IDs | Peptide counts (all) | Peptide counts (razor+unique) | Peptide counts (unique) | Protein names | Gene names | Fasta headers | Number of proteins | Peptides | Razor + unique peptides | ... | Contaminant | id | Peptide IDs | Peptide is razor | Mod. peptide IDs | Evidence IDs | MS/MS IDs | Best MS/MS | Oxidation (M) site IDs | Oxidation (M) site positions | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Majority protein IDs | |||||||||||||||||||||
| O75369;O75369-2;O75369-9;O75369-8;O75369-6;O75369-3;O75369-5;O75369-4;E7EN95;O75369-7 | O75369;O75369-2;O75369-9;O75369-8;O75369-6;O75... | 45;45;45;45;44;44;38;38;35;35;1 | 35;35;35;35;34;34;29;29;33;33;1 | 35;35;35;35;34;34;29;29;33;33;1 | Filamin-B | FLNB | >sp|O75369|FLNB_HUMAN Filamin-B OS=Homo sapien... | 11 | 45 | 35 | ... | NaN | 721 | 473;627;966;1229;2190;2454;2463;2637;2987;3283... | True;True;True;True;True;True;True;False;True;... | 501;664;1014;1300;2298;2569;2579;2758;3128;343... | 6648;6649;6650;6651;6652;6653;6654;6655;6656;6... | 5428;5429;5430;5431;5432;7144;10364;13213;1321... | 5431;7144;10364;13216;22477;24753;24873;26635;... | NaN | NaN |
| P25789;H0YMZ1;H0YL69;H0YMA1;H0YN18;H0YMI6;P25789-2;H0YLC2;H0YKT8 | P25789;H0YMZ1;H0YL69;H0YMA1;H0YN18;H0YMI6;P257... | 14;12;12;11;11;9;9;8;8;6;5;3 | 14;12;12;11;11;9;9;8;8;6;5;3 | 14;12;12;11;11;9;9;8;8;6;5;3 | Proteasome subunit alpha type-4;Proteasome sub... | PSMA4 | >sp|P25789|PSA4_HUMAN Proteasome subunit alpha... | 12 | 14 | 14 | ... | NaN | 1,077 | 1542;4472;7379;8827;10107;10407;11279;11280;12... | True;True;True;True;True;True;True;True;True;T... | 1623;4670;7697;9210;10560;10884;10885;11797;11... | 21045;21046;21047;21048;21049;21050;21051;2105... | 16246;16247;16248;16249;16250;16251;16252;1625... | 16255;44373;73042;88765;102747;106469;115581;1... | 579 | 72 |
| Q9P0L0;J3QKM9;Q9P0L0-2 | Q9P0L0;J3QKM9;Q9P0L0-2 | 1;1;1 | 1;1;1 | 1;1;1 | Vesicle-associated membrane protein-associated... | VAPA | >sp|Q9P0L0|VAPA_HUMAN Vesicle-associated membr... | 3 | 1 | 1 | ... | NaN | 586 | 6901 | True | 7200 | 89587;89588;89589;89590 | 67306 | 67306 | NaN | NaN |
| Q9Y5X3;Q5QPE4 | Q9Y5X3;Q5QPE4;Q5QPE5 | 4;2;1 | 4;2;1 | 4;2;1 | Sorting nexin-5 | SNX5 | >sp|Q9Y5X3|SNX5_HUMAN Sorting nexin-5 OS=Homo ... | 3 | 4 | 4 | ... | NaN | 1,952 | 227;9305;12347;16589 | True;True;True;True | 232;9710;13029;17463 | 2737;2738;2739;2740;2741;2742;2743;2744;2745;1... | 2088;2089;2090;2091;2092;92828;92829;127647;18... | 2092;92828;127647;180529 | NaN | NaN |
| Q04637;Q04637-3;Q04637-6;G5E9S1;Q04637-5;E7EX73;Q04637-4;E9PGM1;E7EUU4;D3DNT2;E9PFM1 | Q04637;Q04637-3;Q04637-6;G5E9S1;Q04637-5;E7EX7... | 16;16;16;16;16;16;16;16;16;16;16;6;4;4;4;4;2 | 16;16;16;16;16;16;16;16;16;16;16;6;4;4;4;4;2 | 16;16;16;16;16;16;16;16;16;16;16;6;4;4;4;4;2 | Eukaryotic translation initiation factor 4 gam... | EIF4G1 | >sp|Q04637|IF4G1_HUMAN Eukaryotic translation ... | 17 | 16 | 16 | ... | NaN | 282 | 192;193;785;3269;3362;3366;3552;3997;5042;5179... | True;True;True;True;True;True;True;True;True;T... | 197;198;827;3421;3517;3521;3714;4178;5260;5406... | 2305;2306;2307;2308;2309;2310;2311;2312;2313;2... | 1759;1760;1761;1762;1763;1764;1765;1766;1767;1... | 1766;1768;8667;33117;33764;33780;35875;40603;4... | NaN | NaN |
5 rows × 215 columns
We mark the protein group by the first protein in the group, ensuring that the protein group is still unique.
new_index = data.index.str.split(";").str[0].rename("first_prot")
assert new_index.is_unique
data = data.reset_index()
data.index = new_index
data
| Majority protein IDs | Protein IDs | Peptide counts (all) | Peptide counts (razor+unique) | Peptide counts (unique) | Protein names | Gene names | Fasta headers | Number of proteins | Peptides | ... | Contaminant | id | Peptide IDs | Peptide is razor | Mod. peptide IDs | Evidence IDs | MS/MS IDs | Best MS/MS | Oxidation (M) site IDs | Oxidation (M) site positions | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| first_prot | |||||||||||||||||||||
| Q13443 | Q13443;C9J6H5;C9JPM3;F8WC54;Q13443-2;A0AVL1 | Q13443;C9J6H5;C9JPM3;F8WC54;Q13443-2;A0AVL1 | 1;1;1;1;1;1 | 1;1;1;1;1;1 | 1;1;1;1;1;1 | Disintegrin and metalloproteinase domain-conta... | ADAM9 | >sp|Q13443|ADAM9_HUMAN Disintegrin and metallo... | 6 | 1 | ... | NaN | 0 | 2726 | True | 2849 | 36123;36124;36125;36126;36127;36128;36129;3613... | 27484;27485;27486;27487;27488;27489;27490;2749... | 27490 | NaN | NaN |
| Q08209 | Q08209;Q08209-2;E7ETC2;A1A441;Q08209-3;P16298;... | Q08209;Q08209-2;E7ETC2;A1A441;Q08209-3;P16298;... | 4;4;4;4;4;2;2;2;2;2;2;1;1;1;1;1;1;1;1 | 4;4;4;4;4;2;2;2;2;2;2;1;1;1;1;1;1;1;1 | 4;4;4;4;4;2;2;2;2;2;2;1;1;1;1;1;1;1;1 | Serine/threonine-protein phosphatase 2B cataly... | PPP3CA;PPP3CB | >sp|Q08209|PP2BA_HUMAN Serine/threonine-protei... | 19 | 4 | ... | NaN | 1 | 699;6176;15271;16451 | True;True;True;True | 738;6440;16080;17320 | 9593;9594;9595;9596;80162;80163;80164;80165;80... | 7726;7727;60560;60561;60562;163519;163520;1635... | 7727;60562;163524;178974 | NaN | NaN |
| A1L4H1 | A1L4H1 | A1L4H1 | 1 | 1 | 1 | Soluble scavenger receptor cysteine-rich domai... | SSC5D | >sp|A1L4H1|SRCRL_HUMAN Soluble scavenger recep... | 1 | 1 | ... | NaN | 2 | 12914 | True | 13624 | 177453;177454 | 136581;136582 | 136581 | NaN | NaN |
| P63092 | P63092;P04899;P08754;P63096;P09471;P38405;P190... | P63092;P04899;P08754;P63096;P09471;P38405;P190... | 1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 | 1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 | 1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 | Guanine nucleotide-binding protein G(s) subuni... | GNAS;GNAI2;GNAI3;GNAI1;GNAO1;GNAL;GNAT2;GNAT3;... | >sp|P63092|GNAS2_HUMAN Guanine nucleotide-bind... | 22 | 1 | ... | NaN | 3 | 10218 | True | 10674 | 137064;137065;137066;137067;137068;137069;1370... | 103921;103922;103923;103924;103925;103926;1039... | 103922 | NaN | NaN |
| P04156-2 | P04156-2;A2A2V1;P04156 | P04156-2;A2A2V1;P04156 | 1;1;1 | 1;1;1 | 1;1;1 | Major prion protein | PRNP | >sp|P04156-2|PRIO_HUMAN Isoform 2 of Major pri... | 3 | 1 | ... | NaN | 4 | 18253 | True | 19215 | 255016;255017;255018;255019;255020;255021;2550... | 199375 | 199375 | NaN | NaN |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| REV__Q9C0B6-2 | REV__Q9C0B6-2;REV__Q9C0B6 | REV__Q9C0B6-2;REV__Q9C0B6 | 1;1 | 1;1 | 1;1 | NaN | NaN | >sp|Q9C0B6-2|FAM5B_HUMAN Isoform 2 of Protein ... | 2 | 1 | ... | NaN | 1,986 | 17362 | True | 18274 | 242825 | 190062 | 190062 | NaN | NaN |
| REV__Q9NQR7 | REV__Q9NQR7 | REV__Q9NQR7 | 1 | 1 | 1 | NaN | NaN | >sp|Q9NQR7|CC177_HUMAN Coiled-coil domain-cont... | 1 | 1 | ... | NaN | 1,987 | 4228 | True | 4421 | 55922;55923;55924;55925;55926;55927;55928;5592... | 42720;42721;42722;42723;42724 | 42722 | NaN | NaN |
| REV__Q9P2F5-2 | REV__Q9P2F5-2;REV__Q9P2F5 | REV__Q9P2F5-2;REV__Q9P2F5 | 1;1 | 1;1 | 1;1 | NaN | NaN | >sp|Q9P2F5-2|STOX2_HUMAN Isoform 2 of Storkhea... | 2 | 1 | ... | NaN | 1,988 | 7838 | True | 8173 | 103152;103153;103154 | 77645 | 77645 | NaN | NaN |
| REV__Q9UHA2 | REV__Q9UHA2 | REV__Q9UHA2 | 1 | 1 | 1 | NaN | NaN | >sp|Q9UHA2|S18L2_HUMAN SS18-like protein 2 OS=... | 1 | 1 | ... | NaN | 1,989 | 10636 | True | 11128 | 143091;143092;143093;143094;143095;143096;1430... | 108950;108951;108952;108953;108954;108955;1089... | 108954 | NaN | NaN |
| REV__Q9Y5F3 | REV__Q9Y5F3 | REV__Q9Y5F3 | 1 | 1 | 1 | NaN | NaN | >sp|Q9Y5F3|PCDB1_HUMAN Protocadherin beta-1 OS... | 1 | 1 | ... | NaN | 1,990 | 9882 | True | 10321 | 132092;132093;132094;132095;132096;132097;1320... | 100057;100058;100059;100060 | 100057 | NaN | NaN |
1991 rows × 216 columns
Get ride of potential contaminants, reverse (decoys) and identified only by a modification site reference:
filters = ["Reverse", "Only identified by site", "Contaminant"]
data[filters].describe()
| Reverse | Only identified by site | Contaminant | |
|---|---|---|---|
| count | 26 | 24 | 84 |
| unique | 1 | 1 | 1 |
| top | + | + | + |
| freq | 26 | 24 | 84 |
mask = data[filters].isna().all(axis=1)
data = data.loc[mask]
data
| Majority protein IDs | Protein IDs | Peptide counts (all) | Peptide counts (razor+unique) | Peptide counts (unique) | Protein names | Gene names | Fasta headers | Number of proteins | Peptides | ... | Contaminant | id | Peptide IDs | Peptide is razor | Mod. peptide IDs | Evidence IDs | MS/MS IDs | Best MS/MS | Oxidation (M) site IDs | Oxidation (M) site positions | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| first_prot | |||||||||||||||||||||
| Q13443 | Q13443;C9J6H5;C9JPM3;F8WC54;Q13443-2;A0AVL1 | Q13443;C9J6H5;C9JPM3;F8WC54;Q13443-2;A0AVL1 | 1;1;1;1;1;1 | 1;1;1;1;1;1 | 1;1;1;1;1;1 | Disintegrin and metalloproteinase domain-conta... | ADAM9 | >sp|Q13443|ADAM9_HUMAN Disintegrin and metallo... | 6 | 1 | ... | NaN | 0 | 2726 | True | 2849 | 36123;36124;36125;36126;36127;36128;36129;3613... | 27484;27485;27486;27487;27488;27489;27490;2749... | 27490 | NaN | NaN |
| Q08209 | Q08209;Q08209-2;E7ETC2;A1A441;Q08209-3;P16298;... | Q08209;Q08209-2;E7ETC2;A1A441;Q08209-3;P16298;... | 4;4;4;4;4;2;2;2;2;2;2;1;1;1;1;1;1;1;1 | 4;4;4;4;4;2;2;2;2;2;2;1;1;1;1;1;1;1;1 | 4;4;4;4;4;2;2;2;2;2;2;1;1;1;1;1;1;1;1 | Serine/threonine-protein phosphatase 2B cataly... | PPP3CA;PPP3CB | >sp|Q08209|PP2BA_HUMAN Serine/threonine-protei... | 19 | 4 | ... | NaN | 1 | 699;6176;15271;16451 | True;True;True;True | 738;6440;16080;17320 | 9593;9594;9595;9596;80162;80163;80164;80165;80... | 7726;7727;60560;60561;60562;163519;163520;1635... | 7727;60562;163524;178974 | NaN | NaN |
| A1L4H1 | A1L4H1 | A1L4H1 | 1 | 1 | 1 | Soluble scavenger receptor cysteine-rich domai... | SSC5D | >sp|A1L4H1|SRCRL_HUMAN Soluble scavenger recep... | 1 | 1 | ... | NaN | 2 | 12914 | True | 13624 | 177453;177454 | 136581;136582 | 136581 | NaN | NaN |
| P63092 | P63092;P04899;P08754;P63096;P09471;P38405;P190... | P63092;P04899;P08754;P63096;P09471;P38405;P190... | 1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 | 1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 | 1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 | Guanine nucleotide-binding protein G(s) subuni... | GNAS;GNAI2;GNAI3;GNAI1;GNAO1;GNAL;GNAT2;GNAT3;... | >sp|P63092|GNAS2_HUMAN Guanine nucleotide-bind... | 22 | 1 | ... | NaN | 3 | 10218 | True | 10674 | 137064;137065;137066;137067;137068;137069;1370... | 103921;103922;103923;103924;103925;103926;1039... | 103922 | NaN | NaN |
| P04156-2 | P04156-2;A2A2V1;P04156 | P04156-2;A2A2V1;P04156 | 1;1;1 | 1;1;1 | 1;1;1 | Major prion protein | PRNP | >sp|P04156-2|PRIO_HUMAN Isoform 2 of Major pri... | 3 | 1 | ... | NaN | 4 | 18253 | True | 19215 | 255016;255017;255018;255019;255020;255021;2550... | 199375 | 199375 | NaN | NaN |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| Q9Y6B6 | Q9Y6B6;Q9H029;D6RDB2;D6RD69 | Q9Y6B6;Q9H029;D6RDB2;D6RD69;D6R9R5 | 3;2;2;2;1 | 1;1;1;1;1 | 1;1;1;1;1 | GTP-binding protein SAR1b | SAR1B;DKFZp434B2017 | >sp|Q9Y6B6|SAR1B_HUMAN GTP-binding protein SAR... | 5 | 3 | ... | NaN | 1,960 | 11056;12671;14121 | False;True;False | 11564;13369;14873 | 148661;148662;148663;148664;148665;148666;1486... | 112725;112726;112727;112728;112729;134047;148469 | 112729;134047;148469 | NaN | NaN |
| Q9Y6C2 | Q9Y6C2 | Q9Y6C2;H0Y7A0 | 3;1 | 3;1 | 3;1 | EMILIN-1 | EMILIN1 | >sp|Q9Y6C2|EMIL1_HUMAN EMILIN-1 OS=Homo sapien... | 2 | 3 | ... | NaN | 1,961 | 1197;10660;18081 | True;True;True | 1266;11154;19032 | 16443;143347;143348;143349;143350;143351;14335... | 12937;109132;197424;197425 | 12937;109132;197425 | NaN | NaN |
| Q9Y6D6 | Q9Y6D6;Q9Y6D5;E5RJN9;E5RHL7;E5RIF2 | Q9Y6D6;Q9Y6D5;E5RJN9;E5RHL7;E5RIF2 | 2;1;1;1;1 | 2;1;1;1;1 | 2;1;1;1;1 | Brefeldin A-inhibited guanine nucleotide-excha... | ARFGEF1;ARFGEF2 | >sp|Q9Y6D6|BIG1_HUMAN Brefeldin A-inhibited gu... | 5 | 2 | ... | NaN | 1,962 | 16763;18735 | True;True | 17643;19717 | 233551;233552;233553;233554;233555;233556;2335... | 182340;204240;204241;204242 | 182340;204240 | NaN | NaN |
| Q9Y6G9 | Q9Y6G9;C9JGM7;E9PHI6 | Q9Y6G9;C9JGM7;E9PHI6 | 2;1;1 | 2;1;1 | 2;1;1 | Cytoplasmic dynein 1 light intermediate chain 1 | DYNC1LI1 | >sp|Q9Y6G9|DC1L1_HUMAN Cytoplasmic dynein 1 li... | 3 | 2 | ... | NaN | 1,963 | 571;3033 | True;True | 604;3175 | 8034;8035;8036;8037;8038;8039;8040;8041;8042;8... | 6590;6591;6592;6593;6594;6595;6596;6597;30946 | 6594;30946 | NaN | NaN |
| Q9Y6I3 | Q9Y6I3;Q9Y6I3-3;Q9Y6I3-1 | Q9Y6I3;Q9Y6I3-3;Q9Y6I3-1 | 2;2;2 | 2;2;2 | 2;2;2 | Epsin-1 | EPN1 | >sp|Q9Y6I3|EPN1_HUMAN Epsin-1 OS=Homo sapiens ... | 3 | 2 | ... | NaN | 1,964 | 1486;15701 | True;True | 1565;16529 | 20438;20439;20440;20441;20442;218668;218669;21... | 15899;169643;169644;169645;169646;169647;16964... | 15899;169647 | NaN | NaN |
1870 rows × 216 columns
Then we can filter the columns that contain the string LFQ intensity. The sample names
are part of the column names (here: LFQ intensity {sample_name})
stub_intensity = "LFQ intensity"
pgs = data.filter(like=stub_intensity)
pgs
| LFQ intensity BAT_NE1 | LFQ intensity BAT_NE2 | LFQ intensity BAT_NE3 | LFQ intensity BAT_NE4 | LFQ intensity BAT_NE5 | LFQ intensity BAT_woNE1 | LFQ intensity BAT_woNE2 | LFQ intensity BAT_woNE3 | LFQ intensity BAT_woNE4 | LFQ intensity BAT_woNE5 | LFQ intensity WAT_NE1 | LFQ intensity WAT_NE2 | LFQ intensity WAT_NE3 | LFQ intensity WAT_NE4 | LFQ intensity WAT_NE5 | LFQ intensity WAT_woNE1 | LFQ intensity WAT_woNE2 | LFQ intensity WAT_woNE3 | LFQ intensity WAT_woNE4 | LFQ intensity WAT_woNE5 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| first_prot | ||||||||||||||||||||
| Q13443 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1,131,200 |
| Q08209 | 0 | 0 | 10,454,000 | 0 | 8,308,300 | 0 | 0 | 7,068,900 | 0 | 5,833,600 | 0 | 0 | 0 | 0 | 0 | 0 | 13,239,000 | 0 | 0 | 10,794,000 |
| A1L4H1 | 0 | 0 | 0 | 3,375,200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| P63092 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8,852,600 |
| P04156-2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8,068,200 | 0 | 0 | 0 | 0 | 0 | 0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| Q9Y6B6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1,630,800 | 0 | 0 | 0 | 0 | 0 |
| Q9Y6C2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4,651,500 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Q9Y6D6 | 0 | 0 | 4,003,100 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Q9Y6G9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 9,301,900 | 0 | 0 | 9,676,800 |
| Q9Y6I3 | 11,134,000 | 0 | 5,309,200 | 0 | 4,596,700 | 0 | 0 | 7,092,600 | 0 | 0 | 0 | 0 | 8,926,800 | 9,343,600 | 15,890,000 | 0 | 0 | 0 | 0 | 0 |
1870 rows × 20 columns
The associated metadata for protein groups we will keep for reference:
meta_pgs = data.drop(pgs.columns, axis=1)
meta_pgs
| Majority protein IDs | Protein IDs | Peptide counts (all) | Peptide counts (razor+unique) | Peptide counts (unique) | Protein names | Gene names | Fasta headers | Number of proteins | Peptides | ... | Contaminant | id | Peptide IDs | Peptide is razor | Mod. peptide IDs | Evidence IDs | MS/MS IDs | Best MS/MS | Oxidation (M) site IDs | Oxidation (M) site positions | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| first_prot | |||||||||||||||||||||
| Q13443 | Q13443;C9J6H5;C9JPM3;F8WC54;Q13443-2;A0AVL1 | Q13443;C9J6H5;C9JPM3;F8WC54;Q13443-2;A0AVL1 | 1;1;1;1;1;1 | 1;1;1;1;1;1 | 1;1;1;1;1;1 | Disintegrin and metalloproteinase domain-conta... | ADAM9 | >sp|Q13443|ADAM9_HUMAN Disintegrin and metallo... | 6 | 1 | ... | NaN | 0 | 2726 | True | 2849 | 36123;36124;36125;36126;36127;36128;36129;3613... | 27484;27485;27486;27487;27488;27489;27490;2749... | 27490 | NaN | NaN |
| Q08209 | Q08209;Q08209-2;E7ETC2;A1A441;Q08209-3;P16298;... | Q08209;Q08209-2;E7ETC2;A1A441;Q08209-3;P16298;... | 4;4;4;4;4;2;2;2;2;2;2;1;1;1;1;1;1;1;1 | 4;4;4;4;4;2;2;2;2;2;2;1;1;1;1;1;1;1;1 | 4;4;4;4;4;2;2;2;2;2;2;1;1;1;1;1;1;1;1 | Serine/threonine-protein phosphatase 2B cataly... | PPP3CA;PPP3CB | >sp|Q08209|PP2BA_HUMAN Serine/threonine-protei... | 19 | 4 | ... | NaN | 1 | 699;6176;15271;16451 | True;True;True;True | 738;6440;16080;17320 | 9593;9594;9595;9596;80162;80163;80164;80165;80... | 7726;7727;60560;60561;60562;163519;163520;1635... | 7727;60562;163524;178974 | NaN | NaN |
| A1L4H1 | A1L4H1 | A1L4H1 | 1 | 1 | 1 | Soluble scavenger receptor cysteine-rich domai... | SSC5D | >sp|A1L4H1|SRCRL_HUMAN Soluble scavenger recep... | 1 | 1 | ... | NaN | 2 | 12914 | True | 13624 | 177453;177454 | 136581;136582 | 136581 | NaN | NaN |
| P63092 | P63092;P04899;P08754;P63096;P09471;P38405;P190... | P63092;P04899;P08754;P63096;P09471;P38405;P190... | 1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 | 1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 | 1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 | Guanine nucleotide-binding protein G(s) subuni... | GNAS;GNAI2;GNAI3;GNAI1;GNAO1;GNAL;GNAT2;GNAT3;... | >sp|P63092|GNAS2_HUMAN Guanine nucleotide-bind... | 22 | 1 | ... | NaN | 3 | 10218 | True | 10674 | 137064;137065;137066;137067;137068;137069;1370... | 103921;103922;103923;103924;103925;103926;1039... | 103922 | NaN | NaN |
| P04156-2 | P04156-2;A2A2V1;P04156 | P04156-2;A2A2V1;P04156 | 1;1;1 | 1;1;1 | 1;1;1 | Major prion protein | PRNP | >sp|P04156-2|PRIO_HUMAN Isoform 2 of Major pri... | 3 | 1 | ... | NaN | 4 | 18253 | True | 19215 | 255016;255017;255018;255019;255020;255021;2550... | 199375 | 199375 | NaN | NaN |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| Q9Y6B6 | Q9Y6B6;Q9H029;D6RDB2;D6RD69 | Q9Y6B6;Q9H029;D6RDB2;D6RD69;D6R9R5 | 3;2;2;2;1 | 1;1;1;1;1 | 1;1;1;1;1 | GTP-binding protein SAR1b | SAR1B;DKFZp434B2017 | >sp|Q9Y6B6|SAR1B_HUMAN GTP-binding protein SAR... | 5 | 3 | ... | NaN | 1,960 | 11056;12671;14121 | False;True;False | 11564;13369;14873 | 148661;148662;148663;148664;148665;148666;1486... | 112725;112726;112727;112728;112729;134047;148469 | 112729;134047;148469 | NaN | NaN |
| Q9Y6C2 | Q9Y6C2 | Q9Y6C2;H0Y7A0 | 3;1 | 3;1 | 3;1 | EMILIN-1 | EMILIN1 | >sp|Q9Y6C2|EMIL1_HUMAN EMILIN-1 OS=Homo sapien... | 2 | 3 | ... | NaN | 1,961 | 1197;10660;18081 | True;True;True | 1266;11154;19032 | 16443;143347;143348;143349;143350;143351;14335... | 12937;109132;197424;197425 | 12937;109132;197425 | NaN | NaN |
| Q9Y6D6 | Q9Y6D6;Q9Y6D5;E5RJN9;E5RHL7;E5RIF2 | Q9Y6D6;Q9Y6D5;E5RJN9;E5RHL7;E5RIF2 | 2;1;1;1;1 | 2;1;1;1;1 | 2;1;1;1;1 | Brefeldin A-inhibited guanine nucleotide-excha... | ARFGEF1;ARFGEF2 | >sp|Q9Y6D6|BIG1_HUMAN Brefeldin A-inhibited gu... | 5 | 2 | ... | NaN | 1,962 | 16763;18735 | True;True | 17643;19717 | 233551;233552;233553;233554;233555;233556;2335... | 182340;204240;204241;204242 | 182340;204240 | NaN | NaN |
| Q9Y6G9 | Q9Y6G9;C9JGM7;E9PHI6 | Q9Y6G9;C9JGM7;E9PHI6 | 2;1;1 | 2;1;1 | 2;1;1 | Cytoplasmic dynein 1 light intermediate chain 1 | DYNC1LI1 | >sp|Q9Y6G9|DC1L1_HUMAN Cytoplasmic dynein 1 li... | 3 | 2 | ... | NaN | 1,963 | 571;3033 | True;True | 604;3175 | 8034;8035;8036;8037;8038;8039;8040;8041;8042;8... | 6590;6591;6592;6593;6594;6595;6596;6597;30946 | 6594;30946 | NaN | NaN |
| Q9Y6I3 | Q9Y6I3;Q9Y6I3-3;Q9Y6I3-1 | Q9Y6I3;Q9Y6I3-3;Q9Y6I3-1 | 2;2;2 | 2;2;2 | 2;2;2 | Epsin-1 | EPN1 | >sp|Q9Y6I3|EPN1_HUMAN Epsin-1 OS=Homo sapiens ... | 3 | 2 | ... | NaN | 1,964 | 1486;15701 | True;True | 1565;16529 | 20438;20439;20440;20441;20442;218668;218669;21... | 15899;169643;169644;169645;169646;169647;16964... | 15899;169647 | NaN | NaN |
1870 rows × 196 columns
No we can get rid of the common part LFQ intensity and keep only the sample names
pgs.columns = pgs.columns.str.replace(stub_intensity, "").str.strip()
pgs.columns.name = "sample"
pgs
| sample | BAT_NE1 | BAT_NE2 | BAT_NE3 | BAT_NE4 | BAT_NE5 | BAT_woNE1 | BAT_woNE2 | BAT_woNE3 | BAT_woNE4 | BAT_woNE5 | WAT_NE1 | WAT_NE2 | WAT_NE3 | WAT_NE4 | WAT_NE5 | WAT_woNE1 | WAT_woNE2 | WAT_woNE3 | WAT_woNE4 | WAT_woNE5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| first_prot | ||||||||||||||||||||
| Q13443 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1,131,200 |
| Q08209 | 0 | 0 | 10,454,000 | 0 | 8,308,300 | 0 | 0 | 7,068,900 | 0 | 5,833,600 | 0 | 0 | 0 | 0 | 0 | 0 | 13,239,000 | 0 | 0 | 10,794,000 |
| A1L4H1 | 0 | 0 | 0 | 3,375,200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| P63092 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8,852,600 |
| P04156-2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8,068,200 | 0 | 0 | 0 | 0 | 0 | 0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| Q9Y6B6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1,630,800 | 0 | 0 | 0 | 0 | 0 |
| Q9Y6C2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4,651,500 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Q9Y6D6 | 0 | 0 | 4,003,100 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Q9Y6G9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 9,301,900 | 0 | 0 | 9,676,800 |
| Q9Y6I3 | 11,134,000 | 0 | 5,309,200 | 0 | 4,596,700 | 0 | 0 | 7,092,600 | 0 | 0 | 0 | 0 | 8,926,800 | 9,343,600 | 15,890,000 | 0 | 0 | 0 | 0 | 0 |
1870 rows × 20 columns
Parse metadata from column names#
The group could be defined in a sample metadata file, but here we just parse it from the sample names by omitting the numbers at the end of the sample name.
pgs.columns.str.replace(r"\d", "", regex=True)
Index(['BAT_NE', 'BAT_NE', 'BAT_NE', 'BAT_NE', 'BAT_NE', 'BAT_woNE',
'BAT_woNE', 'BAT_woNE', 'BAT_woNE', 'BAT_woNE', 'WAT_NE', 'WAT_NE',
'WAT_NE', 'WAT_NE', 'WAT_NE', 'WAT_woNE', 'WAT_woNE', 'WAT_woNE',
'WAT_woNE', 'WAT_woNE'],
dtype='object', name='sample')
We add to the information as a MultiIndex of group and sample name to the columns (sample metadata).
pgs.columns = pd.MultiIndex.from_arrays(
[pgs.columns.str.replace(r"\d", "", regex=True), pgs.columns],
names=["group", pgs.columns.name],
)
pgs
| group | BAT_NE | BAT_woNE | WAT_NE | WAT_woNE | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sample | BAT_NE1 | BAT_NE2 | BAT_NE3 | BAT_NE4 | BAT_NE5 | BAT_woNE1 | BAT_woNE2 | BAT_woNE3 | BAT_woNE4 | BAT_woNE5 | WAT_NE1 | WAT_NE2 | WAT_NE3 | WAT_NE4 | WAT_NE5 | WAT_woNE1 | WAT_woNE2 | WAT_woNE3 | WAT_woNE4 | WAT_woNE5 |
| first_prot | ||||||||||||||||||||
| Q13443 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1,131,200 |
| Q08209 | 0 | 0 | 10,454,000 | 0 | 8,308,300 | 0 | 0 | 7,068,900 | 0 | 5,833,600 | 0 | 0 | 0 | 0 | 0 | 0 | 13,239,000 | 0 | 0 | 10,794,000 |
| A1L4H1 | 0 | 0 | 0 | 3,375,200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| P63092 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8,852,600 |
| P04156-2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8,068,200 | 0 | 0 | 0 | 0 | 0 | 0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| Q9Y6B6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1,630,800 | 0 | 0 | 0 | 0 | 0 |
| Q9Y6C2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4,651,500 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Q9Y6D6 | 0 | 0 | 4,003,100 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Q9Y6G9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 9,301,900 | 0 | 0 | 9,676,800 |
| Q9Y6I3 | 11,134,000 | 0 | 5,309,200 | 0 | 4,596,700 | 0 | 0 | 7,092,600 | 0 | 0 | 0 | 0 | 8,926,800 | 9,343,600 | 15,890,000 | 0 | 0 | 0 | 0 | 0 |
1870 rows × 20 columns
Long format and log2 transformation#
From here we can stack both levels, name the values intensity. If we reset the index we get the original CKG format.
pgs = pgs.stack([0, 1], future_stack=True).to_frame("intensity")
pgs
| intensity | |||
|---|---|---|---|
| first_prot | group | sample | |
| Q13443 | BAT_NE | BAT_NE1 | 0 |
| BAT_NE2 | 0 | ||
| BAT_NE3 | 0 | ||
| BAT_NE4 | 0 | ||
| BAT_NE5 | 0 | ||
| ... | ... | ... | ... |
| Q9Y6I3 | WAT_woNE | WAT_woNE1 | 0 |
| WAT_woNE2 | 0 | ||
| WAT_woNE3 | 0 | ||
| WAT_woNE4 | 0 | ||
| WAT_woNE5 | 0 |
37400 rows × 1 columns
First we log2 transform the data. We first set the zeros to np.nan to avoid
-inf values.
pgs = np.log2(pgs.replace(0.0, np.nan).dropna())
pgs
| intensity | |||
|---|---|---|---|
| first_prot | group | sample | |
| Q13443 | WAT_woNE | WAT_woNE5 | 20.109 |
| Q08209 | BAT_NE | BAT_NE3 | 23.318 |
| BAT_NE5 | 22.986 | ||
| BAT_woNE | BAT_woNE3 | 22.753 | |
| BAT_woNE5 | 22.476 | ||
| ... | ... | ... | ... |
| Q9Y6I3 | BAT_NE | BAT_NE5 | 22.132 |
| BAT_woNE | BAT_woNE3 | 22.758 | |
| WAT_NE | WAT_NE3 | 23.090 | |
| WAT_NE4 | 23.156 | ||
| WAT_NE5 | 23.922 |
17489 rows × 1 columns
Data to be saved in the CKG format: Reset the index.
pgs.reset_index()
| first_prot | group | sample | intensity | |
|---|---|---|---|---|
| 0 | Q13443 | WAT_woNE | WAT_woNE5 | 20.109 |
| 1 | Q08209 | BAT_NE | BAT_NE3 | 23.318 |
| 2 | Q08209 | BAT_NE | BAT_NE5 | 22.986 |
| 3 | Q08209 | BAT_woNE | BAT_woNE3 | 22.753 |
| 4 | Q08209 | BAT_woNE | BAT_woNE5 | 22.476 |
| ... | ... | ... | ... | ... |
| 17,484 | Q9Y6I3 | BAT_NE | BAT_NE5 | 22.132 |
| 17,485 | Q9Y6I3 | BAT_woNE | BAT_woNE3 | 22.758 |
| 17,486 | Q9Y6I3 | WAT_NE | WAT_NE3 | 23.090 |
| 17,487 | Q9Y6I3 | WAT_NE | WAT_NE4 | 23.156 |
| 17,488 | Q9Y6I3 | WAT_NE | WAT_NE5 | 23.922 |
17489 rows × 4 columns
Done.