From 4197afdb64f2fb5be73234b7c3ab1925eceecec5 Mon Sep 17 00:00:00 2001 From: lucl13 Date: Sun, 4 Aug 2024 18:45:51 -0400 Subject: [PATCH] updated docs --- docs/build/doctrees/environment.pickle | Bin 644875 -> 643400 bytes docs/build/doctrees/pigeon.doctree | Bin 19111 -> 17990 bytes docs/build/html/_sources/pigeon.rst.txt | 10 ++++------ docs/build/html/pigeon.html | 10 ++++------ docs/build/html/searchindex.js | 2 +- docs/source/pigeon.rst | 10 ++++------ 6 files changed, 13 insertions(+), 19 deletions(-) diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index d261d2cd7e62fb220c111212eb589aa5bbad4a8e..40b9ba16fd48a56eb048dfa1b87956d564e7ff02 100644 GIT binary patch delta 60915 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 delta 61618 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 U!nLZEcDMjjnI43;UzS(>9~*1@;Q#;t diff --git a/docs/build/doctrees/pigeon.doctree b/docs/build/doctrees/pigeon.doctree index 855d3b218bad180aef4377a09de1bfb8a71870b9..a0855cf28024ac4f8d93b2b08a117c465f192332 100644 GIT binary patch delta 1866 zcmaKtYfO_@7{`51Th>CaTuXschZG7er9h!r!GfZAK|ptNih|eIcZRY6yF|B0HWx7% zHUH|OaT=p&Wa8%dun)_&5M`O0$uwp+FPS7xvt`LN*{4nC&UtBT$(DUN?R%cz^Z!5R zJm)>{=>zn|5NUR34g?pR*L+4P=SoU?wrt)Q?k*|8Bf5|kdx%I+bws4hp`@t^e9uC3 zk`u#Yzp3u3$cqx46N^px*sim|s$GQ#x&j>5`t5nM9X(xrlA|x|2>18(^!GW|_rBtG zY}w@K>VCZpSG6zTO7g2Xpj(ZzDNdv%SHq}p#1A?n_9cgKTz?VGDI0LfP>O3QL3oV^ z(XMYphN&AH4I6OJmF=1@OHFG!KG6k{SG6$DUW;{-H4D4fxYy#N4zYcIHWV7=Nd&q+uRz#p(37*~F93IM!r5Pvc7Fp>!iO znOoVU5>67rw+O?T0lFpPlnGKh5Xx$0j|EXhRCJ4$jQ(|eQ*#}~ z=uufsy{^d4$Ux+cNHNzkGdxJGw8#cdNx70r%9GrZeTfanbwbrlHe9!bsDev*aIRKM zxm@0BK8WPOrMa@Ff&Fs+Sy-e#xGOfjE zUWl#zZ!kZ)Rx{bL!5*Q3cvUmu&0k7;W6vnd*N=UgZ&A@%KIKl8M}%XJd@5F&3+G+g zSpBpGhXcv%lw!x^6X|sK> z6|;(;6%yNu+gPq5p^MdK1-Y8}8L+thbOJkEl49jr2A9)}V_A7|unOHJ^QkHdigi=z z5&cx$0jhA06{}_A+5Xfec*pdfEQzweLZod=2eUTz0F_<;=p*-$WS0~=zOxgm=u67vo^Lvi7*q zqzW6WmeXV+p5$LH@E85fxaTwDN`+k)JzJ~wNUcCU-l?ttm(%A^s zG*LDNYWys^;%{oo1x$hY__%5s?8ml%i~Itn-MA6(s^8(O`d1IUN)K9Vebj-0TEC$t zu?4tL`-_l2H+v5CV!Xl=t0W9Za1({OxOmM|nEVpPg9ZA8-qzxN@FX4Knx1qMf0qua zr`;HJ_-@X-Y($L@4cXXLS4bZTQn|1A)ox9oml@Oac zLk%K`=1>RUa$bK$Q-T*iMPGB$HFbMwhU%xj6Aq83&(RYOZ}s@f_`Q$%hD=qc;@y`CU|FuaU2F6ZwW1Zt`JJzQxBO^}4QJDI)*G|GyFGmrCV?q8BPf+ZtC= z-B@4a5k@s*mZrNZn_j~;bYeIt)F1}6cqCXBrMpFVPzenx(}VreOnxsb8IoSXr52e) L!lAMDMbFVct9L#7 delta 2617 zcmb_edu&rx80Xx!tlQePg{>`gurtcmb@a8ZWwhH^fsV29S`g6jO7FTmZcAy)ddnk$ zutiCj>6r2r6(#zIFQWbdS(F%1QAAXXV)(<5;9~?K#DqtD5QBo}+_mFwiHRisbMC$0 z`Tc(1_nq%M=iJZI=*>e&(Wf|cr2V+!L*)Cuy1JvSwPods>S|oo!6k%nH;3B-xRr}> zy{r(9$8b-)7q{#T@oa1}hgbIC6{%2^3tQo9bjFb5X862~8D5{BJZgZWjNf(f(FI>0 zJ|Md$)0YH;c6(PaXv5+QD}?x9(09qYs8{-47$XB)upa(a?ts089EqoriCCb&&E~iLapc}7}5mDIHFnr%XCFx*2d9EapnY^)wZA$bOsf}a@}F{ zooK%Z)24Kyi}3B#mGH@wr_isW^%m@!`Z&5JqV+Jfco)(@jj@I)WZ-o1JX8qB&2DJc zsgVIbcAH^S$ueXo06PrTE73F(HpJuJ_zoP3#{@PU zOJYlm-O5>TQs@oGHj9izZ(QKQF&h?mE{54?6er^GD6Lx(PY=a=d%0vH9_yxXQdNOx z1rY!b3G~)eiLBj zWBFldo}NLMa`{2pq=Ix+0hF2Q(e<1aRSXZBN@a{(20GQ8{0Ji>9cYT&haYD)q5ISU zx(DB2BWx*K&&XuZSWbGl%*kL8KP87RB{Z?}^P#`284lnAcw@E}hTN4Reak3y3DYRj z3Uai0GB{b@#*jz9+nsgv*sKIapPjXud15?zwG2AUK}cC13LD{pc@2fHo!!9*<8w&B z<=IP^gj73O(IIMAtYDrQ4^Bf{Wq?Ub!IvwSQn1ysjCp4~_$a(>@iRw7FmsQA6K;q6 zF0FWZC06}T%Qm`y$pKdtU@lOyjqZQ7lQ;3p=>|`AMgAC8T89|w;qaUQb3^nnww^!d z*0UY#)^@n>G|{zWuE^j5Ho$3H3*~*}EP+zH2Pt5r)}EiO9FoI+yAL7gb9-`lontY@ zcRCiLa*EYuu`}e^s@dQxs}24vFGMq>yr6UAsGoM!B=zBygWt6Zd8OD9*D8wj)GR@r zQXgw_K0FYtt$@L5txD4KYoroOYnM}r7i$-zlvH9{PNIfL)D}KGb+$>_Z`HXd`*K}? z>`#)UGMnTetaV$_AcdkU@SfW#|A8#-#8TCeQk6iprv|+X{f!>AS6V4}*>i(x56o>u z=cU@`;NILGbPjHNJ<0~MZO)KLCn`6<`TEz;Z$#BztRa{?1S2`)o8kDp=jDuo5a~4* z@>Vbf3eqqxhEc#NZykNy@wycYD0R5n*M}6d2{;M;`6l?Xp-nrBd}aG>5ygPHaU`K{?2yf=d?@L!WE|9}BX(xXzEcvN%Bz9r)dw|93#U2eO1&6Rx zAf^PpC=$`QkR%`R?KsIrxsU+PCjH9X+4etbYO74^N$cgh4~Y$Nbl1)4Qn#ONX1JCXrw0uz`Md m!m&WHjZP1UQv;%TAjOxHn^

PIGEON

-

PIGEON (Peptide ID Generation for Exchange Of Nuclei) is a stand-only program that takes in a list of peptide pool csv +

pigeon is a stand-only program that takes in a list of peptide pool csv and outputs a cleaned csv of pooled data. It also outputs a rangeslist table for merge in FEATHER.

CMD Options

Type pigeon --help to see the following options:

--t, --table: Path(s) to input csv. Required
-
--b, --batch:
-
--o, --out: path to output csv. Default: ‘CLEAN.csv’
+
--o, --out: path to output csv, if any.
--p, --plots: directory for output plots. Default: ‘./csvplots’
--ov, --overlap: flag specifying how to treat overlapping duplicates. Options: ‘keep’, ‘drop’, ‘select’ (or any other). Default: ‘select’
--r, --rangeslist: path to output rangeslist, if any.
@@ -111,11 +110,10 @@

CMD Options
--t (list of peptide pool csvs)
-
--b (table for batched data. Each row contains ‘name’ string for protein, then all pool csvs corresponding to that pool)

Default outputs

-
--o (batched and cleaned peptide pool csv): CLEAN.csv
+
--o (batched and cleaned peptide pool csv)
--r (rangeslist table for merge in post-PIGEON)

In the plot directory, the following files are generated:

@@ -155,7 +153,7 @@

Example Usage
pigeon biotools-cleaner.py --b batch-list.txt --p csvplots --ov select --o select-pooled.csv
+
pigeon --t pool-1.csv --o select-pooled.csv --r rangeslist.csv
 

diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 1174b9c..6ea59a2 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["classes", "documentation", "feather", "hdx", "index", "installation", "pigeon", "tutorial", "tutorials/00_ecdhfr_showcase", "tutorials/01_load_data", "tutorials/02_peptide_level_analysis", "tutorials/03_calculate_PFs", "tutorials/04_check_the_fitting", "tutorials/05_plot_the_results"], "filenames": ["classes.rst", "documentation.rst", "feather.rst", "hdx.rst", "index.rst", "installation.rst", "pigeon.rst", "tutorial.rst", "tutorials/00_ecdhfr_showcase.ipynb", "tutorials/01_load_data.ipynb", "tutorials/02_peptide_level_analysis.ipynb", "tutorials/03_calculate_PFs.ipynb", "tutorials/04_check_the_fitting.ipynb", "tutorials/05_plot_the_results.ipynb"], "titles": ["pigeon_feather.data.RangeList", "Documentation", "FEATHER", "HDX/MS", "Welcome to PIGEON-FEATHER\u2019s documentation!", "Installation", "PIGEON", "Tutorials", "00_Showcase ecDHFR: a FEATHER walkthrough", "01_load_data", "02_peptide_level_analysis", "03_calculate_PFs", "04_check_the_fitting", "05_plot_the_results"], "terms": {"class": [0, 8], "range_list_fil": 0, "none": [0, 8, 10, 12], "range_df": 0, "__init__": 0, "A": [0, 8, 9, 12], "handl": [0, 8, 10, 12], "list": [0, 6, 8, 9, 10, 11, 12], "paramet": [0, 8, 12], "csv": [0, 6, 8, 9, 13], "file": [0, 6, 8, 9, 10, 11, 12, 13], "start": [0, 8, 12], "end": 0, "column": 0, "datafram": [0, 8, 13], "variabl": 0, "range_list": 0, "range_set": 0, "set": [0, 8, 10, 11, 12], "tupl": [0, 8, 12], "method": [0, 2, 3, 4], "hdxms_data_list": [0, 8, 9, 10, 11, 12, 13], "cloolect": 0, "object": [0, 8, 9, 10, 12, 13], "protein_nam": [0, 8, 11], "n_fastamid": [0, 8, 9], "2": [0, 6, 8, 9, 10, 11, 12, 13], "protein_sequ": [0, 8, 9, 11, 12, 13], "satur": [0, 8, 9, 10, 11, 12], "1": [0, 6, 8, 9, 10, 11, 12, 13], "store": 0, "one": [0, 8], "hdx": [0, 1, 4, 5, 8, 9], "m": [0, 1, 4, 5, 6, 8, 9, 10, 11, 12, 13], "replic": [0, 8, 11, 12], "It": [0, 5, 6, 10], "can": [0, 8, 9, 10, 11, 12, 13], "contain": [0, 5, 6, 8, 11], "multipl": 0, "state": [0, 3, 6, 8, 9, 10, 11, 12, 13], "string": [0, 6], "name": [0, 5, 6, 8, 9], "protein": [0, 3, 4, 6, 8, 9], "int": [0, 8, 10, 12, 13], "default": [0, 6], "d": [0, 8, 9, 10, 11, 12, 13], "attribut": 0, "state_nam": [0, 8, 9, 10, 11, 12, 13], "hdxms_data": [0, 8, 9, 10], "if_subtract": 0, "subtract": [0, 2], "have": 0, "been": [0, 5], "ad": [0, 8, 11], "num_subtracted_ad": [0, 8, 11], "number": [0, 8, 9, 10, 11, 12, 13], "raw_sequ": 0, "raw_start": 0, "raw_end": 0, "protein_st": [0, 8, 9, 11, 12], "0": [0, 5, 6, 8, 9, 10, 11, 12, 13], "rt": [0, 6], "sequenc": [0, 8, 9, 11, 13], "residu": [0, 2, 9, 13], "includ": [0, 8, 9], "fastamid": [0, 8, 11], "base": [0, 8, 9, 10, 11, 12, 13], "belong": 0, "identifi": [0, 8, 10, 12], "us": [0, 3, 6, 8, 11], "identif": 0, "raw": [0, 8], "e": [0, 8, 12], "g": 0, "10": [0, 8, 10, 11, 12, 13], "abcdefghij": 0, "exclud": [0, 8, 9], "note": [0, 5, 8, 9, 10, 12, 13], "deut_tim": [0, 8, 10, 12], "num_d": 0, "stddev": 0, "charge_st": 0, "deuter": [0, 8, 9, 10, 11, 12, 13], "time": [0, 8, 9, 10, 11], "deuterium": [0, 3, 9], "incorpor": 0, "standard": [0, 8, 12], "deviat": [0, 6], "charg": [0, 6, 9], "state1_list": [0, 10], "state2_list": [0, 10], "compar": 0, "between": [0, 10], "two": [0, 8, 9, 10, 12, 13], "peptide1_list": 0, "peptide2_list": 0, "rais": 0, "valueerror": 0, "differ": [0, 8, 10, 13], "resid": [0, 8, 13], "pseudo": 0, "length": [0, 8, 9, 12], "100": [0, 8, 10], "seed": 0, "42": [0, 8, 10], "noise_level": 0, "random_backexchang": 0, "fals": [0, 8, 9, 10, 11, 12, 13], "gener": [0, 3, 4, 6, 11], "simul": [0, 8, 11], "random": 0, "nois": 0, "add": [0, 10], "isotop": [0, 2, 5, 8, 11, 12], "envelop": [0, 2, 5], "color_dict": 0, "if_plot_fit": [0, 8, 10], "true": [0, 8, 11, 12, 13], "pdb_file": [0, 8, 10, 13], "dictionari": 0, "color": [0, 8, 10, 12, 13], "each": [0, 2, 6, 8, 11], "state1": [0, 10], "red": [0, 8, 10, 13], "state2": [0, 10], "blue": [0, 8, 10, 12], "fit": [0, 5, 6, 12], "line": [0, 8, 10, 12], "str": 0, "states_subset": [0, 8, 9, 10], "figur": [0, 8, 10, 12], "ax": [0, 8, 10, 12, 13], "if_d_perc": 0, "exp_onli": 0, "axi": 0, "hdxms_datas_df": 0, "panda": [0, 8, 9, 10, 11, 12, 13], "pigeon": [1, 3, 5], "feather": [1, 3, 5, 6, 7, 9, 13], "free": [2, 3, 4], "energi": [2, 3, 4, 8, 13], "assign": [2, 3, 4], "through": [2, 3, 4], "hydrogen": [2, 3, 4], "exchang": [2, 3, 4, 6, 9, 10, 11, 12, 13], "rate": [2, 3, 4, 8, 12, 13], "i": [2, 3, 5, 6, 8, 9, 10, 11, 12, 13], "bayesian": [2, 5, 8, 11], "combin": [2, 10], "peptid": [2, 3, 4, 6, 9, 10, 12, 13], "mass": [2, 3, 4, 8, 9, 12], "reconstruct": 2, "mont": 2, "carlo": 2, "mc": 2, "sampl": [2, 3, 12], "pf": 2, "individu": [2, 3], "pigeon_feath": [2, 5, 8, 9, 10, 11, 12, 13], "data": [2, 3, 4, 6, 10, 11, 12, 13], "rangelist": 2, "hdxmsdatacollect": 2, "hdxmsdata": [2, 8], "proteinst": [2, 8, 10], "timepoint": [2, 8, 10, 12], "hdxstatepeptidecompar": [2, 10], "peptidecompar": 2, "hdxstateresiduecompar": [2, 10], "residuecompar": 2, "simulateddata": 2, "plot": [2, 6, 9, 11, 12, 13], "uptakeplotscollect": 2, "uptakeplot": [2, 8, 10], "spectrometri": [3, 4], "hx": [3, 4, 8, 13], "measur": [3, 6, 10, 11, 12, 13], "labil": 3, "atom": 3, "": [3, 6, 8, 9, 10, 12], "backbon": 3, "amid": 3, "group": [3, 8, 10, 12], "report": 3, "structur": [3, 8, 11, 13], "chang": 3, "ensembl": [3, 4], "level": [3, 8, 10, 12], "amino": [3, 4], "acid": [3, 4], "With": 3, "advent": 3, "integr": 3, "robot": 3, "autom": 3, "prepar": 3, "accur": 3, "predict": 3, "improv": 3, "interpret": 3, "an": [3, 8, 9, 12, 13], "increasingli": 3, "power": 3, "probe": 3, "solut": 3, "howev": 3, "techniqu": 3, "its": [3, 8, 10, 11, 12, 13], "full": [3, 8, 10, 11, 12, 13], "potenti": 3, "due": [3, 5, 8, 9], "resolut": [3, 4], "To": [3, 5], "address": 3, "thi": [3, 8, 10, 11, 12, 13], "problem": 3, "we": [3, 10, 11, 12, 13], "develop": 3, "id": [3, 4, 6], "Of": [3, 4, 6], "nuclei": [3, 4, 6], "analysi": [3, 10, 12, 13], "calcul": [3, 4, 8, 10, 12, 13], "absolut": 3, "open": [3, 4, 5, 8, 9, 10, 11, 12, 13], "gop": [3, 4], "almost": 3, "all": [3, 4, 6, 8, 10], "singl": [4, 8, 13], "size": [4, 8, 10, 11, 12, 13], "from": [4, 6, 8, 9, 10, 11, 12, 13], "instal": 4, "conda": 4, "docker": 4, "tutori": [4, 8, 12, 13], "00_showcas": [4, 7], "ecdhfr": [4, 7], "walkthrough": [4, 7], "01_load_data": [4, 7], "02_peptide_level_analysi": [4, 7], "03_calculate_pf": [4, 7], "04_check_the_fit": [4, 7], "05_plot_the_result": [4, 7], "index": [4, 8, 13], "modul": [4, 8], "search": [4, 8, 10], "page": 4, "mamba": 5, "wget": 5, "http": 5, "github": 5, "com": 5, "forg": 5, "miniforg": 5, "releas": 5, "latest": 5, "download": [5, 8], "mambaforg": 5, "unam": 5, "sh": 5, "bash": 5, "creat": [5, 8, 10, 12, 13], "environ": 5, "requir": [5, 6], "packag": 5, "python": [5, 8, 11], "3": [5, 6, 8, 9, 10, 11, 12, 13], "11": [5, 8, 10, 11, 12], "activ": 5, "jupyterlab": 5, "mdanalysi": [5, 8, 13], "numba": 5, "pymol": [5, 13], "sourc": 5, "pip": 5, "pyopenm": 5, "hdxrate": 5, "clone": 5, "repo": 5, "git": 5, "glasgowlab": 5, "iso": 5, "lucl13": 5, "bayesian_hdx": 5, "cd": [5, 8, 11], "build": 5, "f": [5, 8, 9, 10, 11, 12, 13], "dockerfil": 5, "t": [5, 6], "9": [5, 8, 9, 10, 11, 12, 13], "run": [5, 11, 13], "v": [5, 6], "pwd": 5, "work": 5, "p": [5, 6], "8889": 5, "rm": 5, "jupyt": 5, "lab": 5, "port": 5, "notebook": [5, 10, 11, 12, 13], "pleas": [5, 9], "click": 5, "link": [5, 8], "displai": 5, "termin": [5, 8, 11], "For": 5, "user": [5, 8, 12, 13], "oper": 5, "appl": 5, "silicon": 5, "machin": 5, "mai": [5, 8, 12], "necessari": 5, "append": [5, 8, 9, 10, 12], "platform": [5, 10, 11, 12, 13], "amd64": 5, "when": 5, "imag": 5, "support": [5, 9, 10, 11, 12, 13], "linux": 5, "arm64": 5, "architectur": 5, "advis": 5, "avoid": 5, "signific": 5, "perform": 5, "degrad": 5, "caus": 5, "emul": 5, "x86_64": 5, "abov": [5, 8], "fork": 5, "origin": 5, "which": 5, "ha": [5, 8, 13], "modifi": 5, "compat": 5, "workflow": 5, "stand": 6, "onli": [6, 8, 9, 10, 13], "program": 6, "take": [6, 8, 11], "pool": [6, 9], "output": [6, 9], "clean": [6, 8, 9], "also": [6, 8, 12], "rangeslist": [6, 8, 9], "tabl": [6, 8, 9], "merg": [6, 8, 13], "type": [6, 9], "help": [6, 8], "see": 6, "follow": [6, 8, 11, 13], "path": [6, 8, 10, 11, 12, 13], "input": [6, 9, 12, 13], "b": [6, 13], "batch": 6, "o": [6, 8, 9, 10, 11, 12, 13], "out": 6, "directori": 6, "csvplot": 6, "ov": 6, "overlap": 6, "flag": 6, "specifi": 6, "how": 6, "treat": 6, "duplic": 6, "keep": 6, "drop": [6, 8, 13], "select": [6, 8, 10, 12, 13], "ani": [6, 9], "other": [6, 9], "r": [6, 8, 10, 12], "rtc": 6, "cutoff": 6, "5": [6, 8, 9, 10, 12, 13], "mzc": 6, "z": 6, "scorec": 6, "score": 6, "threshold": 6, "provision": 6, "cut": 6, "trendlin": 6, "150": 6, "ppmc": 6, "ppm": 6, "about": 6, "7": [6, 8, 9, 10, 11, 12, 13], "maxfev": 6, "curve_fit": 6, "row": 6, "correspond": [6, 9], "post": 6, "In": [6, 9, 12, 13], "ar": [6, 8, 9, 10, 12, 13], "histogram": 6, "hist": [6, 8, 12], "png": [6, 10], "high": [6, 8, 9], "curv": 6, "after": 6, "topscor": 6, "best": [6, 8, 10], "match": [6, 8, 10, 11, 12, 13], "non": 6, "yellow": [6, 8, 10], "final": [6, 8], "scatterplot": 6, "scatter": 6, "30ppm": 6, "befor": 6, "colorbar": 6, "hscore": 6, "7ppm": 6, "being": 6, "ab": 6, "distanc": 6, "show": [6, 8, 13], "locat": 6, "below": 6, "variou": 6, "argument": 6, "05": [6, 10], "25": [6, 8, 10], "200": [6, 8, 12, 13], "2000": 6, "altern": 6, "biotool": 6, "cleaner": 6, "py": [6, 8, 11], "txt": 6, "The": [8, 9, 11, 12, 13], "dataset": [8, 11, 12], "hxio": [8, 9, 10, 11, 12, 13], "spectra": [8, 9, 10, 11, 12, 13], "numpi": [8, 9, 10, 11, 12, 13], "np": [8, 9, 10, 11, 12, 13], "pd": [8, 9, 10, 11, 12, 13], "make": [8, 10, 11, 12, 13], "folder": [8, 9, 10, 11, 12, 13], "result": [8, 10, 11, 12, 13], "datetim": [8, 9, 10, 11, 12, 13], "out_path": [8, 10, 11, 12, 13], "bayesian_hdx_input_20240722": [8, 11], "today_d": [8, 10, 11, 12, 13], "date": [8, 9, 10, 11, 12, 13], "todai": [8, 9, 10, 11, 12, 13], "strftime": [8, 9, 10, 11, 12, 13], "y": [8, 9, 10, 11, 12, 13], "20240722": [8, 9, 10, 11, 12, 13], "results_path": [8, 10, 11, 12, 13], "join": 8, "ecdhfr_results_": [8, 10, 11, 12, 13], "exist": [8, 10, 11, 12, 13], "makedir": [8, 10, 11, 12, 13], "ecdhfr_tutori": [8, 9], "rang": [8, 9, 10, 11, 12, 13], "raw_spectra_path": [8, 9, 11], "specexport": [8, 9], "mtghhhhhhenlyfqsisliaalavdrvigmenampwnlpadlawfkrntldkpvimgrhtwesigrplpgrkniilssqpgtddrvtwvksvdeaiaacgdvpeimvigggrvyeqflpkaqklylthidaevegdthfpdyepddwesvfsefhdadaqnshsycfeilerr": [8, 9, 11], "len": [8, 9, 10, 11, 12, 13], "4": [8, 9, 10, 11, 12, 13], "print": [8, 9, 10, 11, 12], "read": 8, "read_hdx_tabl": [8, 9], "apo": [8, 9, 10, 11, 12, 13], "tri": [8, 9, 10, 11, 12, 13], "convert": [8, 9], "hdxm": [8, 9], "load_dataframe_to_hdxmsdata": [8, 9], "fulld_approx": [8, 9], "load_raw_ms_to_hdxms_data": [8, 9], "remov": [8, 9, 12], "miss": [8, 9], "70": [8, 9], "done": [8, 9], "lt": 8, "0x7f6ccdb68fd0": 8, "gt": 8, "save": [8, 9, 10, 11, 12, 13], "pickl": [8, 9, 10, 11, 12, 13], "hdxms_data_raw_": [8, 9, 10, 11, 12, 13], "pkl": [8, 9, 10, 11, 12, 13], "wb": [8, 9, 11], "dump": [8, 9, 11], "rb": [8, 9, 10, 11, 12, 13], "get_all_statics_info": [8, 9], "statist": [8, 9], "39": [8, 9, 10, 12], "cours": [8, 9], "46": [8, 9, 10], "373": [8, 9], "572": [8, 9, 10], "2011": [8, 9, 10], "7772": [8, 9, 10], "30811": [8, 9], "43292": [8, 9, 10], "point": [8, 9, 10, 11], "174": [8, 9], "averag": [8, 9, 10], "coverag": [8, 9, 13], "93": 8, "uniqu": [8, 9], "186": 8, "redund": [8, 9], "ratio": [8, 9], "backexchang": [8, 9], "iqr": [8, 9], "19": [8, 10], "15": [8, 10, 13], "experiment": [8, 10, 11, 12, 13], "closest": [8, 10, 11, 12, 13], "databas": [8, 10, 11, 12, 13], "6": [8, 9, 10, 12, 13], "tool": [8, 10, 11, 12, 13], "backexchange_correct": [8, 10, 11, 12, 13], "max_d": [8, 10, 11, 12, 13], "358": [8, 10, 11, 12, 13], "12": [8, 10, 11, 12, 13], "grab": 8, "all_pep": [8, 10, 12], "pep": [8, 10, 12], "8": [8, 9, 10, 12, 13], "theo_max_d": [8, 10, 12], "plt": [8, 10, 12, 13], "bin": [8, 12], "20": [8, 10, 12, 13], "arrai": [8, 12], "18": [8, 10], "16": [8, 10], "30": [8, 10], "24": [8, 10, 13], "40": [8, 13], "38": [8, 10], "28": [8, 10], "14": [8, 9, 10], "60127572": 8, "62628601": 8, "6512963": 8, "67630658": 8, "70131687": 8, "72632716": 8, "75133745": 8, "77634774": 8, "80135802": 8, "82636831": 8, "8513786": 8, "87638889": 8, "90139918": 8, "92640947": 8, "95141975": 8, "97643004": 8, "00144033": 8, "02645062": 8, "05146091": 8, "07647119": 8, "10148148": 8, "barcontain": 8, "artist": 8, "option": [8, 10], "matplotlib": [8, 10, 12, 13], "ticker": [8, 10, 12, 13], "multipleloc": [8, 10, 13], "formatstrformatt": [8, 10], "mline": [8, 10], "get_index_offset": [8, 10, 12, 13], "logloc": [8, 10, 12], "font": [8, 10], "famili": [8, 10], "arial": [8, 10], "weight": [8, 10], "normal": [8, 10], "36": [8, 10], "titles": [8, 10], "titleweight": [8, 10], "bold": [8, 10], "labels": [8, 10], "linewidth": [8, 10, 12], "rc": [8, 10], "lw": [8, 10, 13], "k": [8, 10, 13], "purpl": [8, 10], "grai": [8, 10, 12, 13], "orang": [8, 10], "green": [8, 10], "brown": [8, 10], "rat": [8, 10], "all_idf": [8, 10, 12], "unique_num_timepoint": [8, 10], "sort": [8, 10, 12], "kei": [8, 10, 12], "lambda": [8, 10, 12], "x": [8, 10, 12], "re": [8, 10, 12], "def": [8, 10, 12, 13], "idf_to_pep": [8, 10], "idf": [8, 10, 12], "return": [8, 10, 12, 13], "num_subplots_per_figur": [8, 10, 12], "250": [8, 10, 12], "num_figur": [8, 10, 12], "math": [8, 10, 12], "ceil": [8, 10, 12], "all_idfs_subset": [8, 10], "fig_index": [8, 10, 12], "subset": [8, 10, 12], "error": [8, 9, 10, 12], "current": [8, 9, 10, 12], "selected_idf": [8, 10], "num_col": [8, 10, 12], "fig": [8, 10, 12, 13], "subplot": [8, 10, 12, 13], "figsiz": [8, 10, 12, 13], "adjust": [8, 10, 12], "need": [8, 10, 12], "enumer": [8, 10, 11, 12, 13], "axhlin": [8, 10, 12], "lightgrai": [8, 10, 12], "linestyl": [8, 10, 12, 13], "set_xlim": [8, 10, 12], "1e1": [8, 10, 12], "1e5": [8, 10, 12], "xaxi": [8, 10, 12, 13], "set_major_loc": [8, 10, 12, 13], "numtick": [8, 10, 12], "y_max": [8, 10, 12], "set_ylim": [8, 10, 12], "custom": [8, 10], "legend": [8, 10, 12, 13], "label": [8, 10, 12, 13], "get_legend_handles_label": [8, 10, 12], "new_label": [8, 10, 12], "new_handl": [8, 10, 12], "zip": [8, 10, 12], "titl": [8, 10, 12], "title_fonts": [8, 10, 12], "small": [8, 10, 12], "loc": [8, 10, 13], "layout": [8, 10, 12], "tight_layout": [8, 10, 12], "savefig": [8, 10, 12, 13], "dhfr_exp_uptake_": [8, 10], "pdf": [8, 10, 12, 13], "add_all_subtract": [8, 11], "add_new_peptides_by_subtract": [8, 11], "117": [8, 11], "new": [8, 11], "126": 8, "later": [8, 11], "write": [8, 11], "bayesian_hdx_input_": 8, "exp_nam": [8, 11], "dhfr_tutorial_dataset": [8, 11], "split": [8, 11, 12], "specexport_": [8, 11], "export_iso_fil": [8, 11], "outdir": [8, 11], "spectra_": [8, 11], "overwrit": [8, 11], "df": [8, 11, 13], "revert_hdxmsdata_to_datafram": [8, 11], "convert_dataframe_to_bayesianhdx_format": [8, 11], "outpath": [8, 11], "spectra_dhfr_tutorial_dataset": [8, 11], "remind": [8, 11], "readi": [8, 11], "script": [8, 11], "generate_bayesian_hdx_script": [8, 11], "base_directori": [8, 11], "making_chunk": [8, 11], "ph": [8, 11, 12, 13], "temperatur": [8, 11, 12, 13], "293": [8, 11, 12, 13], "rerun_num": [8, 11], "extreme_value_prior": [8, 11], "structural_prior": [8, 11], "run_bayesian_hdx_": [8, 11], "_chunk": [8, 11], "w": [8, 11], "prior": 8, "generate_extreme_value_prior": [8, 11], "solvated_pdb": [8, 11], "5dfr_apo_relaxed_best_solv": [8, 11], "pdb": [8, 10, 11, 12, 13], "6xg5_tri_relaxed_best_solv": [8, 11], "1rg7_mtx_relaxed_best_solv": [8, 11], "mtx": [8, 11], "generate_structural_prior": [8, 11], "you": [8, 11, 12, 13], "command": [8, 11, 13], "run_bayesian_hdx_apo_chunk": [8, 11], "usual": [8, 11], "sever": [8, 11], "hour": [8, 11], "durat": [8, 11], "vari": [8, 11], "13": [8, 10, 11, 12], "customunpickl": 8, "unpickl": 8, "find_class": 8, "self": 8, "super": 8, "pcikl": 8, "0x7f095a02d150": 8, "tp": [8, 10, 12], "crucial": [8, 12, 13], "instris": 8, "sure": [8, 11, 12, 13], "ones": 8, "chunk": [8, 12, 13], "alter": [8, 12, 13], "wa": 8, "automaticali": 8, "determin": [8, 10, 11, 12, 13], "function": [8, 12, 13], "17": [8, 10, 13], "optimal_chunk": [8, 12, 13], "pyplot": [8, 12, 13], "run_num": [8, 12, 13], "apo_st": [8, 12, 13], "tri_stat": [8, 12, 13], "ana_apo_1": [8, 12, 13], "chunk_num": [8, 12, 13], "chunk_siz": [8, 12, 13], "load_bayesian_hdx_oupt_chunk": [8, 12, 13], "n": [8, 9, 12, 13], "bayesian_hdx_data_fold": [8, 12, 13], "bayesian_hdx_output_chunk": [8, 12, 13], "ana_tri_1": [8, 12, 13], "mini": 8, "results_obj": [8, 13], "mini_pep": [8, 13], "std_within_clusters_log_kex": 8, "avail": [8, 12], "centroid": [8, 12], "check_fitted_isotope_envelop": [8, 12], "check_fitted_peptide_uptak": [8, 12], "check_state_nam": [8, 12], "check_ana_obj": [8, 12], "all_tp": [8, 10, 12], "get_timepoint": [8, 12], "inf": [8, 10, 12], "21": [8, 10], "envelope_error": [8, 12], "revers": [8, 12], "300": [8, 12], "if_plot": [8, 12], "18086398727111275": 8, "22": [8, 10, 13], "xlabel": [8, 12], "sum": [8, 10, 12], "ae": [8, 12], "ylabel": [8, 12], "count": [8, 12], "text": [8, 12, 13], "23": [8, 10], "nanmedian": [8, 12], "nanmean": [8, 12], "3646019382844139": 8, "39348193324578395": 8, "extract_numb": [8, 12], "findal": [8, 12], "map": [8, 10, 12, 13], "uptake_error": [8, 12], "all_peps_group": [8, 12], "group_by_attribut": [8, 12], "try": [8, 12], "idf_pep": [8, 12], "avg_pep": [8, 12], "average_peptid": [8, 12], "except": [8, 12], "uptake_errors_arrai": [8, 12], "26": [8, 9, 10], "seaborn": [8, 12], "sn": [8, 12], "complementari": [8, 12], "histplot": [8, 12], "kde": [8, 12], "ff6347": [8, 12], "4682b4": [8, 12], "color_1": [8, 12], "53b1b1": [8, 12], "color_2": [8, 12], "f6c624": [8, 12], "teal": [8, 12], "chosen": [8, 12], "set_ylabel": [8, 12, 13], "set_xlabel": [8, 12], "da": [8, 12], "subplots_adjust": [8, 12, 13], "wspace": [8, 12], "27": [8, 9, 10], "index_offset": [8, 12, 13], "6xg5_tri": [8, 10, 12, 13], "selected_uptake_error": [8, 12], "error_tupl": [8, 12], "unpack": [8, 12], "inform": [8, 12], "peptide_data": [8, 12], "retriev": [8, 12], "format": [8, 12], "idf_start": [8, 12], "idf_end": [8, 12], "idf_seq": [8, 12], "set_titl": [8, 12], "get_ylim": [8, 12], "light": [8, 12], "dot": [8, 12], "max": [8, 12, 13], "isdigit": [8, 12], "ecdhfr_uptake_errors_": [8, 12], "_": [8, 12, 13], "bad": 8, "should": 8, "move": 8, "forward": 8, "thei": [8, 12, 13], "agre": [8, 12], "condit": [8, 12], "outlier": [8, 12], "cell": 8, "again": 8, "ourlit": 8, "lot": [8, 12], "while": [8, 12], "neighbour": 8, "bare": [8, 12], "exampl": [8, 12], "turtori": 8, "78": [8, 12], "92": [8, 12], "vdeaiaacgdvpeim": [8, 12], "75": [8, 10, 12], "vksv": [8, 12], "onc": 8, "satisfi": 8, "deriv": [8, 13], "comparison": [8, 13], "provid": [8, 13], "sharei": [8, 13], "sharex": [8, 13], "plot_kex_bar": [8, 13], "resolution_indicator_po": [8, 13], "show_seq": [8, 13], "step": [8, 10, 13], "funcformatt": [8, 13], "set_xtick": [8, 13], "get_xtick": [8, 13], "set_xticklabel": [8, 13], "get_xticklabel": [8, 13], "fontdict": [8, 13], "fontsiz": [8, 13], "format_func": [8, 13], "valu": [8, 9, 10, 12, 13], "tick_numb": [8, 13], "set_major_formatt": [8, 13], "seq_po": [8, 13], "ii": [8, 13], "center": [8, 13], "va": [8, 13], "log": 8, "ex": [8, 13], "lower": [8, 13], "left": [8, 13], "yaxi": [8, 13], "alpha": [8, 13], "hspace": [8, 13], "08": [8, 13], "ecdhfr_kex_bar_apo_tri_": [8, 13], "logp": [8, 13], "project": [8, 10, 13], "29": [8, 10], "bfactorplot": [8, 13], "bfactor_plot": [8, 13], "plot_deltag": [8, 13], "logp_threshold": [8, 13], "6xg5_apo_deltag": [8, 13], "6xg5_apo_relaxed_best_solv": [8, 13], "delta": 8, "mutipl": [8, 13], "availbl": [8, 13], "strutcur": [8, 13], "31": [8, 10], "6xg5_deltag_apo": [8, 13], "export": [8, 10, 13], "logpf": [8, 13], "32": 8, "get_res_avg_logp": [8, 13], "get_res_avg_logp_std": [8, 13], "logpf_to_deltag": [8, 13], "ana_obj": [8, 13], "param": [8, 13], "deltag": [8, 13], "kj": [8, 13], "mol": [8, 13], "local": [8, 13], "unfold": [8, 13], "3145": [8, 13], "1000": [8, 13], "create_logp_df": [8, 13], "df_logpf": [8, 13], "res_i": [8, 13], "res_obj_i": [8, 13], "get_residue_by_resindex": [8, 13], "avg_logp": [8, 13], "std_logp": [8, 13], "df_i": [8, 13], "resnam": [8, 13], "lib": [8, 13], "util": [8, 13], "convert_aa_cod": [8, 13], "avg_dg": [8, 13], "std_dg": [8, 13], "35": [8, 10, 13], "is_nan": [8, 13], "reslov": [8, 13], "nan": [8, 13], "min_pep": [8, 13], "els": [8, 13], "if_single_residu": [8, 13], "clustering_results_logp": [8, 13], "concat": [8, 13], "reset_index": [8, 13], "to_csv": [8, 13], "logp_apo_": [8, 13], "33": 8, "fecth": [8, 13], "df_apo": [8, 13], "df_tri": [8, 13], "suffix": [8, 13], "_apo": [8, 13], "_tri": [8, 13], "logp_apo_tri_": [8, 13], "principl": 9, "accept": 9, "hd": 9, "softwar": 9, "hdexamin": 9, "futur": 9, "version": 9, "common": [9, 10], "workbench": 9, "There": 9, "deconvolut": 9, "defin": 9, "experi": [9, 10], "first": [9, 10], "terminu": 9, "do": [9, 12], "contribut": 9, "uptak": [9, 11], "rapid": 9, "back": [9, 10, 11, 12, 13], "percentag": 9, "d2o": 9, "buffer": 9, "import": [9, 10, 11, 12, 13], "check": [9, 10], "basic": 9, "statics_info": 9, "97": 9, "261": 9, "could": 9, "easili": 9, "One": 9, "correct": [9, 10, 11, 12, 13], "cannot": 9, "found": 9, "ensur": [9, 12], "memori": [10, 11, 12, 13], "statu": [10, 11, 12, 13], "memoryleak": [10, 11, 12, 13], "never": [10, 11, 12, 13], "fail": [10, 11, 12, 13], "load": [10, 11, 12, 13], "previou": [10, 11, 12, 13], "pf_input_20240722": [10, 11, 12, 13], "sinc": 10, "happen": 10, "same": 10, "let": 10, "within": 10, "50": 10, "second": 10, "all_peptid": 10, "tps_rang": 10, "sorted_valu": 10, "offset": 10, "less": 10, "than": 10, "current_group": 10, "last": 10, "empti": 10, "integ": 10, "result_map": 10, "round": 10, "collect": 10, "possibl": 10, "where": 10, "both": 10, "find": 10, "get": 10, "get_stat": 10, "pep_compr": 10, "add_all_compar": 10, "peptide_compar": 10, "compare_info": 10, "common_timepoint": 10, "deut_diff": 10, "lyfqsisl": 10, "374": 10, "30812": 10, "73": 10, "06": 10, "34": 10, "01": 10, "yfqsisl": 10, "57": 10, "44": 10, "45": 10, "fqsisl": 10, "09": 10, "89": 10, "65": 10, "59": 10, "48": 10, "qsisl": 10, "61": 10, "52": 10, "qsisli": 10, "q": 10, "76": 10, "54": 10, "84": 10, "sisl": 10, "51": 10, "68": 10, "alavdr": 10, "87": 10, "37": 10, "88": 10, "alavdrvigm": 10, "41": 10, "77": 10, "53": 10, "alavd": 10, "79": 10, "83": 10, "64": 10, "cover": 10, "here": 10, "res_compar": 10, "320": 10, "residue_compar": 10, "47": 10, "74": 10, "475": 10, "045": 10, "79666667": 10, "87666667": 10, "32666667": 10, "85666667": 10, "80833333": 10, "325": 10, "38333333": 10, "50166667": 10, "98166667": 10, "60333333": 10, "47714286": 10, "90428571": 10, "55857143": 10, "95571429": 10, "69571429": 10, "75428571": 10, "39142857": 10, "pse": 10, "create_compare_pymol_plot": 10, "colorbar_max": 10, "heatmap": 10, "create_heatmap_compare_tp": 10, "them": 10, "itertool": 10, "product": 10, "item": 10, "state1_nam": 10, "state2_nam": 10, "heatmap_compare_tp": 10, "heatmap_compar": 10, "create_heatmap_compar": 10, "127": 11, "enabl": 11, "twp": 11, "intrins": [12, 13], "so": [12, 13], "were": [12, 13], "automat": [12, 13], "helper": [12, 13], "18336607065124264": 12, "3669856716168908": 12, "39744791298433696": 12, "If": 12, "poor": 12, "proce": 12, "rerun": 12, "might": 12, "neighbor": 12, "visual": 13, "spectrum": 13, "green_white_magenta": 13, "minimum": 13, "maximum": 13, "grey20": 13, "prolin": 13}, "objects": {"pigeon_feather.data": [[0, 0, 1, "", "HDXMSData"], [0, 0, 1, "", "HDXMSDataCollection"], [0, 0, 1, "", "HDXStatePeptideCompares"], [0, 0, 1, "", "HDXStateResidueCompares"], [0, 0, 1, "", "Peptide"], [0, 0, 1, "", "PeptideCompare"], [0, 0, 1, "", "ProteinState"], [0, 0, 1, "", "RangeList"], [0, 0, 1, "", "ResidueCompare"], [0, 0, 1, "", "SimulatedData"], [0, 0, 1, "", "Timepoint"]], "pigeon_feather.data.HDXMSData": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.HDXMSDataCollection": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.HDXStatePeptideCompares": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.HDXStateResidueCompares": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.Peptide": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.PeptideCompare": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.ProteinState": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.RangeList": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.ResidueCompare": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.SimulatedData": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.Timepoint": [[0, 1, 1, "", "__init__"]], "pigeon_feather.plot": [[0, 0, 1, "", "UptakePlot"], [0, 0, 1, "", "UptakePlotsCollection"]], "pigeon_feather.plot.UptakePlot": [[0, 1, 1, "", "__init__"]], "pigeon_feather.plot.UptakePlotsCollection": [[0, 1, 1, "", "__init__"]]}, "objtypes": {"0": "py:class", "1": "py:method"}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"]}, "titleterms": {"pigeon_feath": 0, "data": [0, 8, 9], "rangelist": 0, "hdxmsdatacollect": 0, "hdxmsdata": 0, "proteinst": 0, "peptid": [0, 8, 11], "timepoint": 0, "hdxstatepeptidecompar": 0, "peptidecompar": 0, "hdxstateresiduecompar": 0, "residuecompar": 0, "simulateddata": 0, "plot": [0, 8, 10], "uptakeplotscollect": 0, "uptakeplot": 0, "document": [1, 4], "feather": [2, 4, 8], "class": 2, "hdx": 3, "m": 3, "welcom": 4, "pigeon": [4, 6], "": [4, 13], "indic": 4, "tabl": 4, "instal": 5, "conda": 5, "docker": 5, "cmd": 6, "option": 6, "exampl": 6, "usag": 6, "tutori": 7, "00_showcas": 8, "ecdhfr": 8, "walkthrough": 8, "import": 8, "load": [8, 9], "back": 8, "exchang": 8, "correct": 8, "uptak": [8, 10, 12], "subtract": [8, 11], "input": [8, 11], "mcmc": [8, 11], "sampl": [8, 11], "run": 8, "analysi": 8, "fit": 8, "check": [8, 12], "envelop": [8, 12], "barplot": [8, 13], "kex": [8, 13], "01_load_data": 9, "read": 9, "centroid": 9, "raw": 9, "spectrum": 9, "02_peptide_level_analysi": 10, "pipetid": 10, "comparison": 10, "pseudo": 10, "residu": 10, "compar": 10, "visual": 10, "pymol": 10, "structur": 10, "03_calculate_pf": 11, "two": 11, "prior": 11, "04_check_the_fit": 12, "05_plot_the_result": 13, "delta": 13, "log": 13, "pf": 13}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"pigeon_feather.data.RangeList": [[0, "pigeon-feather-data-rangelist"]], "pigeon_feather.data.HDXMSDataCollection": [[0, "pigeon-feather-data-hdxmsdatacollection"]], "pigeon_feather.data.HDXMSData": [[0, "pigeon-feather-data-hdxmsdata"]], "pigeon_feather.data.ProteinState": [[0, "pigeon-feather-data-proteinstate"]], "pigeon_feather.data.Peptide": [[0, "pigeon-feather-data-peptide"]], "pigeon_feather.data.Timepoint": [[0, "pigeon-feather-data-timepoint"]], "pigeon_feather.HDXStatePeptideCompares": [[0, "pigeon-feather-hdxstatepeptidecompares"]], "pigeon_feather.PeptideCompare": [[0, "pigeon-feather-peptidecompare"]], "pigeon_feather.HDXStateResidueCompares": [[0, "pigeon-feather-hdxstateresiduecompares"]], "pigeon_feather.ResidueCompare": [[0, "pigeon-feather-residuecompare"]], "pigeon_feather.SimulatedData": [[0, "pigeon-feather-simulateddata"]], "pigeon_feather.plot.UptakePlotsCollection": [[0, "pigeon-feather-plot-uptakeplotscollection"]], "pigeon_feather.plot.UptakePlot": [[0, "pigeon-feather-plot-uptakeplot"]], "Documentation": [[1, "documentation"]], "FEATHER": [[2, "feather"]], "classes": [[2, "classes"]], "HDX/MS": [[3, "hdx-ms"]], "Welcome to PIGEON-FEATHER\u2019s documentation!": [[4, "welcome-to-pigeon-feather-s-documentation"]], "Indices and tables": [[4, "indices-and-tables"]], "Installation": [[5, "installation"]], "Conda": [[5, "conda"]], "Docker": [[5, "docker"]], "PIGEON": [[6, "pigeon"]], "CMD Options": [[6, "cmd-options"]], "Example Usage": [[6, "example-usage"]], "Tutorials": [[7, "tutorials"]], "00_Showcase ecDHFR: a FEATHER walkthrough": [[8, "00_Showcase-ecDHFR:-a-FEATHER-walkthrough"]], "import": [[8, "import"]], "load the data": [[8, "load-the-data"]], "back exchange correction": [[8, "back-exchange-correction"]], "plot uptake plots": [[8, "plot-uptake-plots"]], "peptide subtraction": [[8, "peptide-subtraction"], [11, "peptide-subtraction"]], "inputs for MCMC sampling": [[8, "inputs-for-MCMC-sampling"], [11, "inputs-for-MCMC-sampling"]], "run the sampling": [[8, "run-the-sampling"]], "Analysis": [[8, "Analysis"]], "Fitting check": [[8, "Fitting-check"]], "envelope check": [[8, "envelope-check"], [12, "envelope-check"]], "uptake check": [[8, "uptake-check"], [12, "uptake-check"]], "barplot of the kex": [[8, "barplot-of-the-kex"], [13, "barplot-of-the-kex"]], "01_load_data": [[9, "01_load_data"]], "Read the centroid data": [[9, "Read-the-centroid-data"]], "Load the raw spectrum": [[9, "Load-the-raw-spectrum"]], "02_peptide_level_analysis": [[10, "02_peptide_level_analysis"]], "uptake plots": [[10, "uptake-plots"]], "pipetide comparison": [[10, "pipetide-comparison"]], "pseudo residue compare": [[10, "pseudo-residue-compare"]], "visualization on pymol structure": [[10, "visualization-on-pymol-structure"]], "03_calculate_PFs": [[11, "03_calculate_PFs"]], "two priors": [[11, "two-priors"]], "04_check_the_fitting": [[12, "04_check_the_fitting"]], "05_plot_the_results": [[13, "05_plot_the_results"]], "delta log(PF)s": [[13, "delta-log(PF)s"]]}, "indexentries": {"hdxmsdata (class in pigeon_feather.data)": [[0, "pigeon_feather.data.HDXMSData"]], "hdxmsdatacollection (class in pigeon_feather.data)": [[0, "pigeon_feather.data.HDXMSDataCollection"]], "hdxstatepeptidecompares (class in pigeon_feather.data)": [[0, "pigeon_feather.data.HDXStatePeptideCompares"]], "hdxstateresiduecompares (class in pigeon_feather.data)": [[0, "pigeon_feather.data.HDXStateResidueCompares"]], "peptide (class in pigeon_feather.data)": [[0, "pigeon_feather.data.Peptide"]], "peptidecompare (class in pigeon_feather.data)": [[0, "pigeon_feather.data.PeptideCompare"]], "proteinstate (class in pigeon_feather.data)": [[0, "pigeon_feather.data.ProteinState"]], "rangelist (class in pigeon_feather.data)": [[0, "pigeon_feather.data.RangeList"]], "residuecompare (class in pigeon_feather.data)": [[0, "pigeon_feather.data.ResidueCompare"]], "simulateddata (class in pigeon_feather.data)": [[0, "pigeon_feather.data.SimulatedData"]], "timepoint (class in pigeon_feather.data)": [[0, "pigeon_feather.data.Timepoint"]], "uptakeplot (class in pigeon_feather.plot)": [[0, "pigeon_feather.plot.UptakePlot"]], "uptakeplotscollection (class in pigeon_feather.plot)": [[0, "pigeon_feather.plot.UptakePlotsCollection"]], "__init__() (pigeon_feather.data.hdxmsdata method)": [[0, "pigeon_feather.data.HDXMSData.__init__"]], "__init__() (pigeon_feather.data.hdxmsdatacollection method)": [[0, "pigeon_feather.data.HDXMSDataCollection.__init__"]], "__init__() (pigeon_feather.data.hdxstatepeptidecompares method)": [[0, "pigeon_feather.data.HDXStatePeptideCompares.__init__"]], "__init__() (pigeon_feather.data.hdxstateresiduecompares method)": [[0, "pigeon_feather.data.HDXStateResidueCompares.__init__"]], "__init__() (pigeon_feather.data.peptide method)": [[0, "pigeon_feather.data.Peptide.__init__"]], "__init__() (pigeon_feather.data.peptidecompare method)": [[0, "pigeon_feather.data.PeptideCompare.__init__"]], "__init__() (pigeon_feather.data.proteinstate method)": [[0, "pigeon_feather.data.ProteinState.__init__"]], "__init__() (pigeon_feather.data.rangelist method)": [[0, "pigeon_feather.data.RangeList.__init__"]], "__init__() (pigeon_feather.data.residuecompare method)": [[0, "pigeon_feather.data.ResidueCompare.__init__"]], "__init__() (pigeon_feather.data.simulateddata method)": [[0, "pigeon_feather.data.SimulatedData.__init__"]], "__init__() (pigeon_feather.data.timepoint method)": [[0, "pigeon_feather.data.Timepoint.__init__"]], "__init__() (pigeon_feather.plot.uptakeplot method)": [[0, "pigeon_feather.plot.UptakePlot.__init__"]], "__init__() (pigeon_feather.plot.uptakeplotscollection method)": [[0, "pigeon_feather.plot.UptakePlotsCollection.__init__"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["classes", "documentation", "feather", "hdx", "index", "installation", "pigeon", "tutorial", "tutorials/00_ecdhfr_showcase", "tutorials/01_load_data", "tutorials/02_peptide_level_analysis", "tutorials/03_calculate_PFs", "tutorials/04_check_the_fitting", "tutorials/05_plot_the_results"], "filenames": ["classes.rst", "documentation.rst", "feather.rst", "hdx.rst", "index.rst", "installation.rst", "pigeon.rst", "tutorial.rst", "tutorials/00_ecdhfr_showcase.ipynb", "tutorials/01_load_data.ipynb", "tutorials/02_peptide_level_analysis.ipynb", "tutorials/03_calculate_PFs.ipynb", "tutorials/04_check_the_fitting.ipynb", "tutorials/05_plot_the_results.ipynb"], "titles": ["pigeon_feather.data.RangeList", "Documentation", "FEATHER", "HDX/MS", "Welcome to PIGEON-FEATHER\u2019s documentation!", "Installation", "PIGEON", "Tutorials", "00_Showcase ecDHFR: a FEATHER walkthrough", "01_load_data", "02_peptide_level_analysis", "03_calculate_PFs", "04_check_the_fitting", "05_plot_the_results"], "terms": {"class": [0, 8], "range_list_fil": 0, "none": [0, 8, 10, 12], "range_df": 0, "__init__": 0, "A": [0, 8, 9, 12], "handl": [0, 8, 10, 12], "list": [0, 6, 8, 9, 10, 11, 12], "paramet": [0, 8, 12], "csv": [0, 6, 8, 9, 13], "file": [0, 6, 8, 9, 10, 11, 12, 13], "start": [0, 8, 12], "end": 0, "column": 0, "datafram": [0, 8, 13], "variabl": 0, "range_list": 0, "range_set": 0, "set": [0, 8, 10, 11, 12], "tupl": [0, 8, 12], "method": [0, 2, 3, 4], "hdxms_data_list": [0, 8, 9, 10, 11, 12, 13], "cloolect": 0, "object": [0, 8, 9, 10, 12, 13], "protein_nam": [0, 8, 11], "n_fastamid": [0, 8, 9], "2": [0, 6, 8, 9, 10, 11, 12, 13], "protein_sequ": [0, 8, 9, 11, 12, 13], "satur": [0, 8, 9, 10, 11, 12], "1": [0, 6, 8, 9, 10, 11, 12, 13], "store": 0, "one": [0, 8], "hdx": [0, 1, 4, 5, 8, 9], "m": [0, 1, 4, 5, 6, 8, 9, 10, 11, 12, 13], "replic": [0, 8, 11, 12], "It": [0, 5, 6, 10], "can": [0, 8, 9, 10, 11, 12, 13], "contain": [0, 5, 8, 11], "multipl": 0, "state": [0, 3, 6, 8, 9, 10, 11, 12, 13], "string": 0, "name": [0, 5, 8, 9], "protein": [0, 3, 4, 8, 9], "int": [0, 8, 10, 12, 13], "default": [0, 6], "d": [0, 8, 9, 10, 11, 12, 13], "attribut": 0, "state_nam": [0, 8, 9, 10, 11, 12, 13], "hdxms_data": [0, 8, 9, 10], "if_subtract": 0, "subtract": [0, 2], "have": 0, "been": [0, 5], "ad": [0, 8, 11], "num_subtracted_ad": [0, 8, 11], "number": [0, 8, 9, 10, 11, 12, 13], "raw_sequ": 0, "raw_start": 0, "raw_end": 0, "protein_st": [0, 8, 9, 11, 12], "0": [0, 5, 6, 8, 9, 10, 11, 12, 13], "rt": [0, 6], "sequenc": [0, 8, 9, 11, 13], "residu": [0, 2, 9, 13], "includ": [0, 8, 9], "fastamid": [0, 8, 11], "base": [0, 8, 9, 10, 11, 12, 13], "belong": 0, "identifi": [0, 8, 10, 12], "us": [0, 3, 6, 8, 11], "identif": 0, "raw": [0, 8], "e": [0, 8, 12], "g": 0, "10": [0, 8, 10, 11, 12, 13], "abcdefghij": 0, "exclud": [0, 8, 9], "note": [0, 5, 8, 9, 10, 12, 13], "deut_tim": [0, 8, 10, 12], "num_d": 0, "stddev": 0, "charge_st": 0, "deuter": [0, 8, 9, 10, 11, 12, 13], "time": [0, 8, 9, 10, 11], "deuterium": [0, 3, 9], "incorpor": 0, "standard": [0, 8, 12], "deviat": [0, 6], "charg": [0, 6, 9], "state1_list": [0, 10], "state2_list": [0, 10], "compar": 0, "between": [0, 10], "two": [0, 8, 9, 10, 12, 13], "peptide1_list": 0, "peptide2_list": 0, "rais": 0, "valueerror": 0, "differ": [0, 8, 10, 13], "resid": [0, 8, 13], "pseudo": 0, "length": [0, 8, 9, 12], "100": [0, 8, 10], "seed": 0, "42": [0, 8, 10], "noise_level": 0, "random_backexchang": 0, "fals": [0, 8, 9, 10, 11, 12, 13], "gener": [0, 3, 4, 6, 11], "simul": [0, 8, 11], "random": 0, "nois": 0, "add": [0, 10], "isotop": [0, 2, 5, 8, 11, 12], "envelop": [0, 2, 5], "color_dict": 0, "if_plot_fit": [0, 8, 10], "true": [0, 8, 11, 12, 13], "pdb_file": [0, 8, 10, 13], "dictionari": 0, "color": [0, 8, 10, 12, 13], "each": [0, 2, 6, 8, 11], "state1": [0, 10], "red": [0, 8, 10, 13], "state2": [0, 10], "blue": [0, 8, 10, 12], "fit": [0, 5, 6, 12], "line": [0, 8, 10, 12], "str": 0, "states_subset": [0, 8, 9, 10], "figur": [0, 8, 10, 12], "ax": [0, 8, 10, 12, 13], "if_d_perc": 0, "exp_onli": 0, "axi": 0, "hdxms_datas_df": 0, "panda": [0, 8, 9, 10, 11, 12, 13], "pigeon": [1, 3, 5], "feather": [1, 3, 5, 6, 7, 9, 13], "free": [2, 3, 4], "energi": [2, 3, 4, 8, 13], "assign": [2, 3, 4], "through": [2, 3, 4], "hydrogen": [2, 3, 4], "exchang": [2, 3, 4, 9, 10, 11, 12, 13], "rate": [2, 3, 4, 8, 12, 13], "i": [2, 3, 5, 6, 8, 9, 10, 11, 12, 13], "bayesian": [2, 5, 8, 11], "combin": [2, 10], "peptid": [2, 3, 4, 6, 9, 10, 12, 13], "mass": [2, 3, 4, 8, 9, 12], "reconstruct": 2, "mont": 2, "carlo": 2, "mc": 2, "sampl": [2, 3, 12], "pf": 2, "individu": [2, 3], "pigeon_feath": [2, 5, 8, 9, 10, 11, 12, 13], "data": [2, 3, 4, 6, 10, 11, 12, 13], "rangelist": 2, "hdxmsdatacollect": 2, "hdxmsdata": [2, 8], "proteinst": [2, 8, 10], "timepoint": [2, 8, 10, 12], "hdxstatepeptidecompar": [2, 10], "peptidecompar": 2, "hdxstateresiduecompar": [2, 10], "residuecompar": 2, "simulateddata": 2, "plot": [2, 6, 9, 11, 12, 13], "uptakeplotscollect": 2, "uptakeplot": [2, 8, 10], "spectrometri": [3, 4], "hx": [3, 4, 8, 13], "measur": [3, 6, 10, 11, 12, 13], "labil": 3, "atom": 3, "": [3, 6, 8, 9, 10, 12], "backbon": 3, "amid": 3, "group": [3, 8, 10, 12], "report": 3, "structur": [3, 8, 11, 13], "chang": 3, "ensembl": [3, 4], "level": [3, 8, 10, 12], "amino": [3, 4], "acid": [3, 4], "With": 3, "advent": 3, "integr": 3, "robot": 3, "autom": 3, "prepar": 3, "accur": 3, "predict": 3, "improv": 3, "interpret": 3, "an": [3, 8, 9, 12, 13], "increasingli": 3, "power": 3, "probe": 3, "solut": 3, "howev": 3, "techniqu": 3, "its": [3, 8, 10, 11, 12, 13], "full": [3, 8, 10, 11, 12, 13], "potenti": 3, "due": [3, 5, 8, 9], "resolut": [3, 4], "To": [3, 5], "address": 3, "thi": [3, 8, 10, 11, 12, 13], "problem": 3, "we": [3, 10, 11, 12, 13], "develop": 3, "id": [3, 4], "Of": [3, 4], "nuclei": [3, 4], "analysi": [3, 10, 12, 13], "calcul": [3, 4, 8, 10, 12, 13], "absolut": 3, "open": [3, 4, 5, 8, 9, 10, 11, 12, 13], "gop": [3, 4], "almost": 3, "all": [3, 4, 6, 8, 10], "singl": [4, 8, 13], "size": [4, 8, 10, 11, 12, 13], "from": [4, 6, 8, 9, 10, 11, 12, 13], "instal": 4, "conda": 4, "docker": 4, "tutori": [4, 8, 12, 13], "00_showcas": [4, 7], "ecdhfr": [4, 7], "walkthrough": [4, 7], "01_load_data": [4, 7], "02_peptide_level_analysi": [4, 7], "03_calculate_pf": [4, 7], "04_check_the_fit": [4, 7], "05_plot_the_result": [4, 7], "index": [4, 8, 13], "modul": [4, 8], "search": [4, 8, 10], "page": 4, "mamba": 5, "wget": 5, "http": 5, "github": 5, "com": 5, "forg": 5, "miniforg": 5, "releas": 5, "latest": 5, "download": [5, 8], "mambaforg": 5, "unam": 5, "sh": 5, "bash": 5, "creat": [5, 8, 10, 12, 13], "environ": 5, "requir": [5, 6], "packag": 5, "python": [5, 8, 11], "3": [5, 6, 8, 9, 10, 11, 12, 13], "11": [5, 8, 10, 11, 12], "activ": 5, "jupyterlab": 5, "mdanalysi": [5, 8, 13], "numba": 5, "pymol": [5, 13], "sourc": 5, "pip": 5, "pyopenm": 5, "hdxrate": 5, "clone": 5, "repo": 5, "git": 5, "glasgowlab": 5, "iso": 5, "lucl13": 5, "bayesian_hdx": 5, "cd": [5, 8, 11], "build": 5, "f": [5, 8, 9, 10, 11, 12, 13], "dockerfil": 5, "t": [5, 6], "9": [5, 8, 9, 10, 11, 12, 13], "run": [5, 11, 13], "v": [5, 6], "pwd": 5, "work": 5, "p": [5, 6], "8889": 5, "rm": 5, "jupyt": 5, "lab": 5, "port": 5, "notebook": [5, 10, 11, 12, 13], "pleas": [5, 9], "click": 5, "link": [5, 8], "displai": 5, "termin": [5, 8, 11], "For": 5, "user": [5, 8, 12, 13], "oper": 5, "appl": 5, "silicon": 5, "machin": 5, "mai": [5, 8, 12], "necessari": 5, "append": [5, 8, 9, 10, 12], "platform": [5, 10, 11, 12, 13], "amd64": 5, "when": 5, "imag": 5, "support": [5, 9, 10, 11, 12, 13], "linux": 5, "arm64": 5, "architectur": 5, "advis": 5, "avoid": 5, "signific": 5, "perform": 5, "degrad": 5, "caus": 5, "emul": 5, "x86_64": 5, "abov": [5, 8], "fork": 5, "origin": 5, "which": 5, "ha": [5, 8, 13], "modifi": 5, "compat": 5, "workflow": 5, "stand": 6, "onli": [6, 8, 9, 10, 13], "program": 6, "take": [6, 8, 11], "pool": [6, 9], "output": [6, 9], "clean": [6, 8, 9], "also": [6, 8, 12], "rangeslist": [6, 8, 9], "tabl": [6, 8, 9], "merg": [6, 8, 13], "type": [6, 9], "help": [6, 8], "see": 6, "follow": [6, 8, 11, 13], "path": [6, 8, 10, 11, 12, 13], "input": [6, 9, 12, 13], "o": [6, 8, 9, 10, 11, 12, 13], "out": 6, "ani": [6, 9], "directori": 6, "csvplot": 6, "ov": 6, "overlap": 6, "flag": 6, "specifi": 6, "how": 6, "treat": 6, "duplic": 6, "keep": 6, "drop": [6, 8, 13], "select": [6, 8, 10, 12, 13], "other": [6, 9], "r": [6, 8, 10, 12], "rtc": 6, "cutoff": 6, "5": [6, 8, 9, 10, 12, 13], "mzc": 6, "z": 6, "scorec": 6, "score": 6, "threshold": 6, "provision": 6, "cut": 6, "trendlin": 6, "150": 6, "ppmc": 6, "ppm": 6, "about": 6, "7": [6, 8, 9, 10, 11, 12, 13], "maxfev": 6, "curve_fit": 6, "batch": 6, "post": 6, "In": [6, 9, 12, 13], "ar": [6, 8, 9, 10, 12, 13], "histogram": 6, "hist": [6, 8, 12], "png": [6, 10], "high": [6, 8, 9], "curv": 6, "after": 6, "topscor": 6, "best": [6, 8, 10], "match": [6, 8, 10, 11, 12, 13], "non": 6, "yellow": [6, 8, 10], "final": [6, 8], "scatterplot": 6, "scatter": 6, "30ppm": 6, "befor": 6, "colorbar": 6, "hscore": 6, "7ppm": 6, "being": 6, "ab": 6, "distanc": 6, "show": [6, 8, 13], "locat": 6, "below": 6, "variou": 6, "argument": 6, "05": [6, 10], "25": [6, 8, 10], "200": [6, 8, 12, 13], "2000": 6, "altern": 6, "The": [8, 9, 11, 12, 13], "dataset": [8, 11, 12], "hxio": [8, 9, 10, 11, 12, 13], "spectra": [8, 9, 10, 11, 12, 13], "numpi": [8, 9, 10, 11, 12, 13], "np": [8, 9, 10, 11, 12, 13], "pd": [8, 9, 10, 11, 12, 13], "make": [8, 10, 11, 12, 13], "folder": [8, 9, 10, 11, 12, 13], "result": [8, 10, 11, 12, 13], "datetim": [8, 9, 10, 11, 12, 13], "out_path": [8, 10, 11, 12, 13], "bayesian_hdx_input_20240722": [8, 11], "today_d": [8, 10, 11, 12, 13], "date": [8, 9, 10, 11, 12, 13], "todai": [8, 9, 10, 11, 12, 13], "strftime": [8, 9, 10, 11, 12, 13], "y": [8, 9, 10, 11, 12, 13], "20240722": [8, 9, 10, 11, 12, 13], "results_path": [8, 10, 11, 12, 13], "join": 8, "ecdhfr_results_": [8, 10, 11, 12, 13], "exist": [8, 10, 11, 12, 13], "makedir": [8, 10, 11, 12, 13], "ecdhfr_tutori": [8, 9], "rang": [8, 9, 10, 11, 12, 13], "raw_spectra_path": [8, 9, 11], "specexport": [8, 9], "mtghhhhhhenlyfqsisliaalavdrvigmenampwnlpadlawfkrntldkpvimgrhtwesigrplpgrkniilssqpgtddrvtwvksvdeaiaacgdvpeimvigggrvyeqflpkaqklylthidaevegdthfpdyepddwesvfsefhdadaqnshsycfeilerr": [8, 9, 11], "len": [8, 9, 10, 11, 12, 13], "4": [8, 9, 10, 11, 12, 13], "print": [8, 9, 10, 11, 12], "read": 8, "read_hdx_tabl": [8, 9], "apo": [8, 9, 10, 11, 12, 13], "tri": [8, 9, 10, 11, 12, 13], "convert": [8, 9], "hdxm": [8, 9], "load_dataframe_to_hdxmsdata": [8, 9], "fulld_approx": [8, 9], "load_raw_ms_to_hdxms_data": [8, 9], "remov": [8, 9, 12], "miss": [8, 9], "70": [8, 9], "done": [8, 9], "lt": 8, "0x7f6ccdb68fd0": 8, "gt": 8, "save": [8, 9, 10, 11, 12, 13], "pickl": [8, 9, 10, 11, 12, 13], "hdxms_data_raw_": [8, 9, 10, 11, 12, 13], "pkl": [8, 9, 10, 11, 12, 13], "wb": [8, 9, 11], "dump": [8, 9, 11], "rb": [8, 9, 10, 11, 12, 13], "get_all_statics_info": [8, 9], "statist": [8, 9], "39": [8, 9, 10, 12], "cours": [8, 9], "46": [8, 9, 10], "373": [8, 9], "572": [8, 9, 10], "2011": [8, 9, 10], "7772": [8, 9, 10], "30811": [8, 9], "43292": [8, 9, 10], "point": [8, 9, 10, 11], "174": [8, 9], "averag": [8, 9, 10], "coverag": [8, 9, 13], "93": 8, "uniqu": [8, 9], "186": 8, "redund": [8, 9], "ratio": [8, 9], "backexchang": [8, 9], "iqr": [8, 9], "19": [8, 10], "15": [8, 10, 13], "experiment": [8, 10, 11, 12, 13], "closest": [8, 10, 11, 12, 13], "databas": [8, 10, 11, 12, 13], "6": [8, 9, 10, 12, 13], "tool": [8, 10, 11, 12, 13], "backexchange_correct": [8, 10, 11, 12, 13], "max_d": [8, 10, 11, 12, 13], "358": [8, 10, 11, 12, 13], "12": [8, 10, 11, 12, 13], "grab": 8, "all_pep": [8, 10, 12], "pep": [8, 10, 12], "8": [8, 9, 10, 12, 13], "theo_max_d": [8, 10, 12], "plt": [8, 10, 12, 13], "bin": [8, 12], "20": [8, 10, 12, 13], "arrai": [8, 12], "18": [8, 10], "16": [8, 10], "30": [8, 10], "24": [8, 10, 13], "40": [8, 13], "38": [8, 10], "28": [8, 10], "14": [8, 9, 10], "60127572": 8, "62628601": 8, "6512963": 8, "67630658": 8, "70131687": 8, "72632716": 8, "75133745": 8, "77634774": 8, "80135802": 8, "82636831": 8, "8513786": 8, "87638889": 8, "90139918": 8, "92640947": 8, "95141975": 8, "97643004": 8, "00144033": 8, "02645062": 8, "05146091": 8, "07647119": 8, "10148148": 8, "barcontain": 8, "artist": 8, "option": [8, 10], "matplotlib": [8, 10, 12, 13], "ticker": [8, 10, 12, 13], "multipleloc": [8, 10, 13], "formatstrformatt": [8, 10], "mline": [8, 10], "get_index_offset": [8, 10, 12, 13], "logloc": [8, 10, 12], "font": [8, 10], "famili": [8, 10], "arial": [8, 10], "weight": [8, 10], "normal": [8, 10], "36": [8, 10], "titles": [8, 10], "titleweight": [8, 10], "bold": [8, 10], "labels": [8, 10], "linewidth": [8, 10, 12], "rc": [8, 10], "lw": [8, 10, 13], "k": [8, 10, 13], "purpl": [8, 10], "grai": [8, 10, 12, 13], "orang": [8, 10], "green": [8, 10], "brown": [8, 10], "rat": [8, 10], "all_idf": [8, 10, 12], "unique_num_timepoint": [8, 10], "sort": [8, 10, 12], "kei": [8, 10, 12], "lambda": [8, 10, 12], "x": [8, 10, 12], "re": [8, 10, 12], "def": [8, 10, 12, 13], "idf_to_pep": [8, 10], "idf": [8, 10, 12], "return": [8, 10, 12, 13], "num_subplots_per_figur": [8, 10, 12], "250": [8, 10, 12], "num_figur": [8, 10, 12], "math": [8, 10, 12], "ceil": [8, 10, 12], "all_idfs_subset": [8, 10], "fig_index": [8, 10, 12], "subset": [8, 10, 12], "error": [8, 9, 10, 12], "current": [8, 9, 10, 12], "selected_idf": [8, 10], "num_col": [8, 10, 12], "fig": [8, 10, 12, 13], "subplot": [8, 10, 12, 13], "figsiz": [8, 10, 12, 13], "adjust": [8, 10, 12], "need": [8, 10, 12], "enumer": [8, 10, 11, 12, 13], "axhlin": [8, 10, 12], "lightgrai": [8, 10, 12], "linestyl": [8, 10, 12, 13], "set_xlim": [8, 10, 12], "1e1": [8, 10, 12], "1e5": [8, 10, 12], "xaxi": [8, 10, 12, 13], "set_major_loc": [8, 10, 12, 13], "numtick": [8, 10, 12], "y_max": [8, 10, 12], "set_ylim": [8, 10, 12], "custom": [8, 10], "legend": [8, 10, 12, 13], "label": [8, 10, 12, 13], "get_legend_handles_label": [8, 10, 12], "new_label": [8, 10, 12], "new_handl": [8, 10, 12], "zip": [8, 10, 12], "titl": [8, 10, 12], "title_fonts": [8, 10, 12], "small": [8, 10, 12], "loc": [8, 10, 13], "layout": [8, 10, 12], "tight_layout": [8, 10, 12], "savefig": [8, 10, 12, 13], "dhfr_exp_uptake_": [8, 10], "pdf": [8, 10, 12, 13], "add_all_subtract": [8, 11], "add_new_peptides_by_subtract": [8, 11], "117": [8, 11], "new": [8, 11], "126": 8, "later": [8, 11], "write": [8, 11], "bayesian_hdx_input_": 8, "exp_nam": [8, 11], "dhfr_tutorial_dataset": [8, 11], "split": [8, 11, 12], "specexport_": [8, 11], "export_iso_fil": [8, 11], "outdir": [8, 11], "spectra_": [8, 11], "overwrit": [8, 11], "df": [8, 11, 13], "revert_hdxmsdata_to_datafram": [8, 11], "convert_dataframe_to_bayesianhdx_format": [8, 11], "outpath": [8, 11], "spectra_dhfr_tutorial_dataset": [8, 11], "remind": [8, 11], "readi": [8, 11], "script": [8, 11], "generate_bayesian_hdx_script": [8, 11], "base_directori": [8, 11], "making_chunk": [8, 11], "ph": [8, 11, 12, 13], "temperatur": [8, 11, 12, 13], "293": [8, 11, 12, 13], "rerun_num": [8, 11], "extreme_value_prior": [8, 11], "structural_prior": [8, 11], "run_bayesian_hdx_": [8, 11], "_chunk": [8, 11], "py": [8, 11], "w": [8, 11], "prior": 8, "generate_extreme_value_prior": [8, 11], "solvated_pdb": [8, 11], "5dfr_apo_relaxed_best_solv": [8, 11], "pdb": [8, 10, 11, 12, 13], "6xg5_tri_relaxed_best_solv": [8, 11], "1rg7_mtx_relaxed_best_solv": [8, 11], "mtx": [8, 11], "generate_structural_prior": [8, 11], "you": [8, 11, 12, 13], "command": [8, 11, 13], "run_bayesian_hdx_apo_chunk": [8, 11], "usual": [8, 11], "sever": [8, 11], "hour": [8, 11], "durat": [8, 11], "vari": [8, 11], "13": [8, 10, 11, 12], "customunpickl": 8, "unpickl": 8, "find_class": 8, "self": 8, "super": 8, "pcikl": 8, "0x7f095a02d150": 8, "tp": [8, 10, 12], "crucial": [8, 12, 13], "instris": 8, "sure": [8, 11, 12, 13], "ones": 8, "chunk": [8, 12, 13], "alter": [8, 12, 13], "wa": 8, "automaticali": 8, "determin": [8, 10, 11, 12, 13], "function": [8, 12, 13], "17": [8, 10, 13], "optimal_chunk": [8, 12, 13], "pyplot": [8, 12, 13], "run_num": [8, 12, 13], "apo_st": [8, 12, 13], "tri_stat": [8, 12, 13], "ana_apo_1": [8, 12, 13], "chunk_num": [8, 12, 13], "chunk_siz": [8, 12, 13], "load_bayesian_hdx_oupt_chunk": [8, 12, 13], "n": [8, 9, 12, 13], "bayesian_hdx_data_fold": [8, 12, 13], "bayesian_hdx_output_chunk": [8, 12, 13], "ana_tri_1": [8, 12, 13], "mini": 8, "results_obj": [8, 13], "mini_pep": [8, 13], "std_within_clusters_log_kex": 8, "avail": [8, 12], "centroid": [8, 12], "check_fitted_isotope_envelop": [8, 12], "check_fitted_peptide_uptak": [8, 12], "check_state_nam": [8, 12], "check_ana_obj": [8, 12], "all_tp": [8, 10, 12], "get_timepoint": [8, 12], "inf": [8, 10, 12], "21": [8, 10], "envelope_error": [8, 12], "revers": [8, 12], "300": [8, 12], "if_plot": [8, 12], "18086398727111275": 8, "22": [8, 10, 13], "xlabel": [8, 12], "sum": [8, 10, 12], "ae": [8, 12], "ylabel": [8, 12], "count": [8, 12], "text": [8, 12, 13], "23": [8, 10], "nanmedian": [8, 12], "nanmean": [8, 12], "3646019382844139": 8, "39348193324578395": 8, "extract_numb": [8, 12], "findal": [8, 12], "map": [8, 10, 12, 13], "uptake_error": [8, 12], "all_peps_group": [8, 12], "group_by_attribut": [8, 12], "try": [8, 12], "idf_pep": [8, 12], "avg_pep": [8, 12], "average_peptid": [8, 12], "except": [8, 12], "uptake_errors_arrai": [8, 12], "26": [8, 9, 10], "seaborn": [8, 12], "sn": [8, 12], "complementari": [8, 12], "histplot": [8, 12], "kde": [8, 12], "ff6347": [8, 12], "4682b4": [8, 12], "color_1": [8, 12], "53b1b1": [8, 12], "color_2": [8, 12], "f6c624": [8, 12], "teal": [8, 12], "chosen": [8, 12], "set_ylabel": [8, 12, 13], "set_xlabel": [8, 12], "da": [8, 12], "subplots_adjust": [8, 12, 13], "wspace": [8, 12], "27": [8, 9, 10], "index_offset": [8, 12, 13], "6xg5_tri": [8, 10, 12, 13], "selected_uptake_error": [8, 12], "error_tupl": [8, 12], "unpack": [8, 12], "inform": [8, 12], "peptide_data": [8, 12], "retriev": [8, 12], "format": [8, 12], "idf_start": [8, 12], "idf_end": [8, 12], "idf_seq": [8, 12], "set_titl": [8, 12], "get_ylim": [8, 12], "light": [8, 12], "dot": [8, 12], "max": [8, 12, 13], "isdigit": [8, 12], "ecdhfr_uptake_errors_": [8, 12], "_": [8, 12, 13], "bad": 8, "should": 8, "move": 8, "forward": 8, "thei": [8, 12, 13], "agre": [8, 12], "condit": [8, 12], "outlier": [8, 12], "cell": 8, "again": 8, "ourlit": 8, "lot": [8, 12], "while": [8, 12], "neighbour": 8, "bare": [8, 12], "exampl": [8, 12], "turtori": 8, "78": [8, 12], "92": [8, 12], "vdeaiaacgdvpeim": [8, 12], "75": [8, 10, 12], "vksv": [8, 12], "onc": 8, "satisfi": 8, "deriv": [8, 13], "comparison": [8, 13], "provid": [8, 13], "sharei": [8, 13], "sharex": [8, 13], "plot_kex_bar": [8, 13], "resolution_indicator_po": [8, 13], "show_seq": [8, 13], "step": [8, 10, 13], "funcformatt": [8, 13], "set_xtick": [8, 13], "get_xtick": [8, 13], "set_xticklabel": [8, 13], "get_xticklabel": [8, 13], "fontdict": [8, 13], "fontsiz": [8, 13], "format_func": [8, 13], "valu": [8, 9, 10, 12, 13], "tick_numb": [8, 13], "set_major_formatt": [8, 13], "seq_po": [8, 13], "ii": [8, 13], "center": [8, 13], "va": [8, 13], "log": 8, "ex": [8, 13], "lower": [8, 13], "left": [8, 13], "yaxi": [8, 13], "alpha": [8, 13], "hspace": [8, 13], "08": [8, 13], "ecdhfr_kex_bar_apo_tri_": [8, 13], "logp": [8, 13], "project": [8, 10, 13], "29": [8, 10], "bfactorplot": [8, 13], "bfactor_plot": [8, 13], "plot_deltag": [8, 13], "logp_threshold": [8, 13], "6xg5_apo_deltag": [8, 13], "6xg5_apo_relaxed_best_solv": [8, 13], "delta": 8, "mutipl": [8, 13], "availbl": [8, 13], "strutcur": [8, 13], "31": [8, 10], "6xg5_deltag_apo": [8, 13], "export": [8, 10, 13], "logpf": [8, 13], "32": 8, "get_res_avg_logp": [8, 13], "get_res_avg_logp_std": [8, 13], "logpf_to_deltag": [8, 13], "ana_obj": [8, 13], "param": [8, 13], "deltag": [8, 13], "kj": [8, 13], "mol": [8, 13], "local": [8, 13], "unfold": [8, 13], "3145": [8, 13], "1000": [8, 13], "create_logp_df": [8, 13], "df_logpf": [8, 13], "res_i": [8, 13], "res_obj_i": [8, 13], "get_residue_by_resindex": [8, 13], "avg_logp": [8, 13], "std_logp": [8, 13], "df_i": [8, 13], "resnam": [8, 13], "lib": [8, 13], "util": [8, 13], "convert_aa_cod": [8, 13], "avg_dg": [8, 13], "std_dg": [8, 13], "35": [8, 10, 13], "is_nan": [8, 13], "reslov": [8, 13], "nan": [8, 13], "min_pep": [8, 13], "els": [8, 13], "if_single_residu": [8, 13], "clustering_results_logp": [8, 13], "concat": [8, 13], "reset_index": [8, 13], "to_csv": [8, 13], "logp_apo_": [8, 13], "33": 8, "fecth": [8, 13], "df_apo": [8, 13], "df_tri": [8, 13], "suffix": [8, 13], "_apo": [8, 13], "_tri": [8, 13], "logp_apo_tri_": [8, 13], "principl": 9, "accept": 9, "hd": 9, "softwar": 9, "hdexamin": 9, "futur": 9, "version": 9, "common": [9, 10], "workbench": 9, "There": 9, "deconvolut": 9, "defin": 9, "experi": [9, 10], "first": [9, 10], "terminu": 9, "do": [9, 12], "contribut": 9, "uptak": [9, 11], "rapid": 9, "back": [9, 10, 11, 12, 13], "percentag": 9, "d2o": 9, "buffer": 9, "import": [9, 10, 11, 12, 13], "check": [9, 10], "basic": 9, "statics_info": 9, "97": 9, "261": 9, "could": 9, "easili": 9, "One": 9, "correct": [9, 10, 11, 12, 13], "cannot": 9, "found": 9, "ensur": [9, 12], "correspond": 9, "memori": [10, 11, 12, 13], "statu": [10, 11, 12, 13], "memoryleak": [10, 11, 12, 13], "never": [10, 11, 12, 13], "fail": [10, 11, 12, 13], "load": [10, 11, 12, 13], "previou": [10, 11, 12, 13], "pf_input_20240722": [10, 11, 12, 13], "sinc": 10, "happen": 10, "same": 10, "let": 10, "within": 10, "50": 10, "second": 10, "all_peptid": 10, "tps_rang": 10, "sorted_valu": 10, "offset": 10, "less": 10, "than": 10, "current_group": 10, "last": 10, "empti": 10, "integ": 10, "result_map": 10, "round": 10, "collect": 10, "possibl": 10, "where": 10, "both": 10, "find": 10, "get": 10, "get_stat": 10, "pep_compr": 10, "add_all_compar": 10, "peptide_compar": 10, "compare_info": 10, "common_timepoint": 10, "deut_diff": 10, "lyfqsisl": 10, "374": 10, "30812": 10, "73": 10, "06": 10, "34": 10, "01": 10, "yfqsisl": 10, "57": 10, "44": 10, "45": 10, "fqsisl": 10, "09": 10, "89": 10, "65": 10, "59": 10, "48": 10, "qsisl": 10, "61": 10, "52": 10, "qsisli": 10, "q": 10, "76": 10, "54": 10, "84": 10, "sisl": 10, "51": 10, "68": 10, "alavdr": 10, "87": 10, "37": 10, "88": 10, "alavdrvigm": 10, "41": 10, "77": 10, "53": 10, "alavd": 10, "79": 10, "83": 10, "64": 10, "cover": 10, "here": 10, "res_compar": 10, "320": 10, "residue_compar": 10, "47": 10, "74": 10, "475": 10, "045": 10, "79666667": 10, "87666667": 10, "32666667": 10, "85666667": 10, "80833333": 10, "325": 10, "38333333": 10, "50166667": 10, "98166667": 10, "60333333": 10, "47714286": 10, "90428571": 10, "55857143": 10, "95571429": 10, "69571429": 10, "75428571": 10, "39142857": 10, "pse": 10, "create_compare_pymol_plot": 10, "colorbar_max": 10, "heatmap": 10, "create_heatmap_compare_tp": 10, "them": 10, "itertool": 10, "product": 10, "item": 10, "state1_nam": 10, "state2_nam": 10, "heatmap_compare_tp": 10, "heatmap_compar": 10, "create_heatmap_compar": 10, "127": 11, "enabl": 11, "twp": 11, "intrins": [12, 13], "so": [12, 13], "were": [12, 13], "automat": [12, 13], "helper": [12, 13], "18336607065124264": 12, "3669856716168908": 12, "39744791298433696": 12, "If": 12, "poor": 12, "proce": 12, "rerun": 12, "might": 12, "neighbor": 12, "visual": 13, "spectrum": 13, "b": 13, "green_white_magenta": 13, "minimum": 13, "maximum": 13, "grey20": 13, "prolin": 13}, "objects": {"pigeon_feather.data": [[0, 0, 1, "", "HDXMSData"], [0, 0, 1, "", "HDXMSDataCollection"], [0, 0, 1, "", "HDXStatePeptideCompares"], [0, 0, 1, "", "HDXStateResidueCompares"], [0, 0, 1, "", "Peptide"], [0, 0, 1, "", "PeptideCompare"], [0, 0, 1, "", "ProteinState"], [0, 0, 1, "", "RangeList"], [0, 0, 1, "", "ResidueCompare"], [0, 0, 1, "", "SimulatedData"], [0, 0, 1, "", "Timepoint"]], "pigeon_feather.data.HDXMSData": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.HDXMSDataCollection": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.HDXStatePeptideCompares": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.HDXStateResidueCompares": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.Peptide": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.PeptideCompare": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.ProteinState": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.RangeList": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.ResidueCompare": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.SimulatedData": [[0, 1, 1, "", "__init__"]], "pigeon_feather.data.Timepoint": [[0, 1, 1, "", "__init__"]], "pigeon_feather.plot": [[0, 0, 1, "", "UptakePlot"], [0, 0, 1, "", "UptakePlotsCollection"]], "pigeon_feather.plot.UptakePlot": [[0, 1, 1, "", "__init__"]], "pigeon_feather.plot.UptakePlotsCollection": [[0, 1, 1, "", "__init__"]]}, "objtypes": {"0": "py:class", "1": "py:method"}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"]}, "titleterms": {"pigeon_feath": 0, "data": [0, 8, 9], "rangelist": 0, "hdxmsdatacollect": 0, "hdxmsdata": 0, "proteinst": 0, "peptid": [0, 8, 11], "timepoint": 0, "hdxstatepeptidecompar": 0, "peptidecompar": 0, "hdxstateresiduecompar": 0, "residuecompar": 0, "simulateddata": 0, "plot": [0, 8, 10], "uptakeplotscollect": 0, "uptakeplot": 0, "document": [1, 4], "feather": [2, 4, 8], "class": 2, "hdx": 3, "m": 3, "welcom": 4, "pigeon": [4, 6], "": [4, 13], "indic": 4, "tabl": 4, "instal": 5, "conda": 5, "docker": 5, "cmd": 6, "option": 6, "exampl": 6, "usag": 6, "tutori": 7, "00_showcas": 8, "ecdhfr": 8, "walkthrough": 8, "import": 8, "load": [8, 9], "back": 8, "exchang": 8, "correct": 8, "uptak": [8, 10, 12], "subtract": [8, 11], "input": [8, 11], "mcmc": [8, 11], "sampl": [8, 11], "run": 8, "analysi": 8, "fit": 8, "check": [8, 12], "envelop": [8, 12], "barplot": [8, 13], "kex": [8, 13], "01_load_data": 9, "read": 9, "centroid": 9, "raw": 9, "spectrum": 9, "02_peptide_level_analysi": 10, "pipetid": 10, "comparison": 10, "pseudo": 10, "residu": 10, "compar": 10, "visual": 10, "pymol": 10, "structur": 10, "03_calculate_pf": 11, "two": 11, "prior": 11, "04_check_the_fit": 12, "05_plot_the_result": 13, "delta": 13, "log": 13, "pf": 13}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"pigeon_feather.data.RangeList": [[0, "pigeon-feather-data-rangelist"]], "pigeon_feather.data.HDXMSDataCollection": [[0, "pigeon-feather-data-hdxmsdatacollection"]], "pigeon_feather.data.HDXMSData": [[0, "pigeon-feather-data-hdxmsdata"]], "pigeon_feather.data.ProteinState": [[0, "pigeon-feather-data-proteinstate"]], "pigeon_feather.data.Peptide": [[0, "pigeon-feather-data-peptide"]], "pigeon_feather.data.Timepoint": [[0, "pigeon-feather-data-timepoint"]], "pigeon_feather.HDXStatePeptideCompares": [[0, "pigeon-feather-hdxstatepeptidecompares"]], "pigeon_feather.PeptideCompare": [[0, "pigeon-feather-peptidecompare"]], "pigeon_feather.HDXStateResidueCompares": [[0, "pigeon-feather-hdxstateresiduecompares"]], "pigeon_feather.ResidueCompare": [[0, "pigeon-feather-residuecompare"]], "pigeon_feather.SimulatedData": [[0, "pigeon-feather-simulateddata"]], "pigeon_feather.plot.UptakePlotsCollection": [[0, "pigeon-feather-plot-uptakeplotscollection"]], "pigeon_feather.plot.UptakePlot": [[0, "pigeon-feather-plot-uptakeplot"]], "Documentation": [[1, "documentation"]], "FEATHER": [[2, "feather"]], "classes": [[2, "classes"]], "HDX/MS": [[3, "hdx-ms"]], "Welcome to PIGEON-FEATHER\u2019s documentation!": [[4, "welcome-to-pigeon-feather-s-documentation"]], "Indices and tables": [[4, "indices-and-tables"]], "Installation": [[5, "installation"]], "Conda": [[5, "conda"]], "Docker": [[5, "docker"]], "PIGEON": [[6, "pigeon"]], "CMD Options": [[6, "cmd-options"]], "Example Usage": [[6, "example-usage"]], "Tutorials": [[7, "tutorials"]], "00_Showcase ecDHFR: a FEATHER walkthrough": [[8, "00_Showcase-ecDHFR:-a-FEATHER-walkthrough"]], "import": [[8, "import"]], "load the data": [[8, "load-the-data"]], "back exchange correction": [[8, "back-exchange-correction"]], "plot uptake plots": [[8, "plot-uptake-plots"]], "peptide subtraction": [[8, "peptide-subtraction"], [11, "peptide-subtraction"]], "inputs for MCMC sampling": [[8, "inputs-for-MCMC-sampling"], [11, "inputs-for-MCMC-sampling"]], "run the sampling": [[8, "run-the-sampling"]], "Analysis": [[8, "Analysis"]], "Fitting check": [[8, "Fitting-check"]], "envelope check": [[8, "envelope-check"], [12, "envelope-check"]], "uptake check": [[8, "uptake-check"], [12, "uptake-check"]], "barplot of the kex": [[8, "barplot-of-the-kex"], [13, "barplot-of-the-kex"]], "01_load_data": [[9, "01_load_data"]], "Read the centroid data": [[9, "Read-the-centroid-data"]], "Load the raw spectrum": [[9, "Load-the-raw-spectrum"]], "02_peptide_level_analysis": [[10, "02_peptide_level_analysis"]], "uptake plots": [[10, "uptake-plots"]], "pipetide comparison": [[10, "pipetide-comparison"]], "pseudo residue compare": [[10, "pseudo-residue-compare"]], "visualization on pymol structure": [[10, "visualization-on-pymol-structure"]], "03_calculate_PFs": [[11, "03_calculate_PFs"]], "two priors": [[11, "two-priors"]], "04_check_the_fitting": [[12, "04_check_the_fitting"]], "05_plot_the_results": [[13, "05_plot_the_results"]], "delta log(PF)s": [[13, "delta-log(PF)s"]]}, "indexentries": {"hdxmsdata (class in pigeon_feather.data)": [[0, "pigeon_feather.data.HDXMSData"]], "hdxmsdatacollection (class in pigeon_feather.data)": [[0, "pigeon_feather.data.HDXMSDataCollection"]], "hdxstatepeptidecompares (class in pigeon_feather.data)": [[0, "pigeon_feather.data.HDXStatePeptideCompares"]], "hdxstateresiduecompares (class in pigeon_feather.data)": [[0, "pigeon_feather.data.HDXStateResidueCompares"]], "peptide (class in pigeon_feather.data)": [[0, "pigeon_feather.data.Peptide"]], "peptidecompare (class in pigeon_feather.data)": [[0, "pigeon_feather.data.PeptideCompare"]], "proteinstate (class in pigeon_feather.data)": [[0, "pigeon_feather.data.ProteinState"]], "rangelist (class in pigeon_feather.data)": [[0, "pigeon_feather.data.RangeList"]], "residuecompare (class in pigeon_feather.data)": [[0, "pigeon_feather.data.ResidueCompare"]], "simulateddata (class in pigeon_feather.data)": [[0, "pigeon_feather.data.SimulatedData"]], "timepoint (class in pigeon_feather.data)": [[0, "pigeon_feather.data.Timepoint"]], "uptakeplot (class in pigeon_feather.plot)": [[0, "pigeon_feather.plot.UptakePlot"]], "uptakeplotscollection (class in pigeon_feather.plot)": [[0, "pigeon_feather.plot.UptakePlotsCollection"]], "__init__() (pigeon_feather.data.hdxmsdata method)": [[0, "pigeon_feather.data.HDXMSData.__init__"]], "__init__() (pigeon_feather.data.hdxmsdatacollection method)": [[0, "pigeon_feather.data.HDXMSDataCollection.__init__"]], "__init__() (pigeon_feather.data.hdxstatepeptidecompares method)": [[0, "pigeon_feather.data.HDXStatePeptideCompares.__init__"]], "__init__() (pigeon_feather.data.hdxstateresiduecompares method)": [[0, "pigeon_feather.data.HDXStateResidueCompares.__init__"]], "__init__() (pigeon_feather.data.peptide method)": [[0, "pigeon_feather.data.Peptide.__init__"]], "__init__() (pigeon_feather.data.peptidecompare method)": [[0, "pigeon_feather.data.PeptideCompare.__init__"]], "__init__() (pigeon_feather.data.proteinstate method)": [[0, "pigeon_feather.data.ProteinState.__init__"]], "__init__() (pigeon_feather.data.rangelist method)": [[0, "pigeon_feather.data.RangeList.__init__"]], "__init__() (pigeon_feather.data.residuecompare method)": [[0, "pigeon_feather.data.ResidueCompare.__init__"]], "__init__() (pigeon_feather.data.simulateddata method)": [[0, "pigeon_feather.data.SimulatedData.__init__"]], "__init__() (pigeon_feather.data.timepoint method)": [[0, "pigeon_feather.data.Timepoint.__init__"]], "__init__() (pigeon_feather.plot.uptakeplot method)": [[0, "pigeon_feather.plot.UptakePlot.__init__"]], "__init__() (pigeon_feather.plot.uptakeplotscollection method)": [[0, "pigeon_feather.plot.UptakePlotsCollection.__init__"]]}}) \ No newline at end of file diff --git a/docs/source/pigeon.rst b/docs/source/pigeon.rst index ea03987..cd6892e 100644 --- a/docs/source/pigeon.rst +++ b/docs/source/pigeon.rst @@ -2,7 +2,7 @@ PIGEON ====== -**PIGEON** (Peptide ID Generation for Exchange Of Nuclei) is a stand-only program that takes in a list of peptide pool csv +**pigeon** is a stand-only program that takes in a list of peptide pool csv and outputs a cleaned csv of pooled data. It also outputs a rangeslist table for merge in FEATHER. CMD Options @@ -11,8 +11,7 @@ CMD Options Type ``pigeon --help`` to see the following options: | ``--t``, ``--table``: Path(s) to input csv. Required -| ``--b``, ``--batch``: -| ``--o``, ``--out``: path to output csv. Default: 'CLEAN.csv' +| ``--o``, ``--out``: path to output csv, if any. | ``--p``, ``--plots``: directory for output plots. Default: './csvplots' | ``--ov``, ``--overlap``: flag specifying how to treat overlapping duplicates. Options: 'keep', 'drop', 'select' (or any other). Default: 'select' | ``--r``, ``--rangeslist``: path to output rangeslist, if any. @@ -25,11 +24,10 @@ Type ``pigeon --help`` to see the following options: Default inputs | ``--t`` (list of peptide pool csvs) -| ``--b`` (table for batched data. Each row contains 'name' string for protein, then all pool csvs corresponding to that pool) Default outputs -| ``--o`` (batched and cleaned peptide pool csv): ``CLEAN.csv`` +| ``--o`` (batched and cleaned peptide pool csv) | ``--r`` (rangeslist table for merge in post-PIGEON) In the plot directory, the following files are generated: @@ -72,4 +70,4 @@ Alternative usage example: .. code-block:: bash - pigeon biotools-cleaner.py --b batch-list.txt --p csvplots --ov select --o select-pooled.csv + pigeon --t pool-1.csv --o select-pooled.csv --r rangeslist.csv