{ "info": { "author": "Claire D. McWhite", "author_email": "claire.mcwhite@utexas.edu", "bugtrack_url": null, "classifiers": [], "description": "flupan\n=========\nPython library to parse influenza passaging annotations.\n\n### About\nInfluenza virus is frequency passaged prior to being sequenced. These growth conditions are recorded as shorthand passaging annotations. However, these passages are often inconsistent and not easily machine readable. This library takes individual passage history strings (Ex. M1_S3) and returns an object containing its interpretation. \n\n[Project Github repo](https://github.com/clauswilke/flupan)\n\n\n#### Authors\nClaire D. McWhite\n\nClaus O. Wilke\n\n\n### Influenza passaging annotations \n\n - Each portion of a passage history string ex. M3 refers to the type of passage and the number of rounds of passage. In the annotion M3, M refers to MDCK cells, and 3 signifies the strain was passaged 3 times. \n\n - These portions are strung together into a full passage history, ex. M1_S2. This strain was passaged once in MDCK cells then twice in SIAT1 cells. \n \n - A \"/\" as in S1/S1 can mean the strain was transferred to a different lab and repassaged. \n\n - A \"+\" as in S2+3 can mean that a strain was repassaged in the previous condition after some type of break. In S2+3, the strain was initially passaged twice in SIAT1 cells and later passaged 3 more times in SIAT1 cells.\n\n\n\n### Installation\nflupan can be directly installed with [sudo permission] from pypi\n\n```bash\npip install flupan \n```\n\nor \n\n```bash\neasy_install install flupan\n```\nAlternatively, flupan can also be installed from source. \n\n```bash\ngit clone https://github.com/clauswilke/flupan.git\ncd flupan\npython setup.py install\n#or \nsudo python setup.py install\n#or \npython setup.py install --user \n```\n\nThere are several recommended tests, which can be run using\n```bash\n[sudo] python setup.py test\n```\n\nThere will always be passage annotations which aren't currently covered by this packaged. If you find any, please submit them under the Issues tab, and we'll add them in. Alternatively, special cases can be locally appended to the passage lookup tables (see section 'Custom passage annotations' below) : [https://github.com/clauswilke/flupan/issues](https://github.com/clauswilke/flupan/issues)\n\n\n### Package usage\n\n```python\n\n>>import flupan\n\n>> pp = flupan.PassageParser() # create PassageParser object\n>> p = pp.parse_passage(\"m 1\") # parse annotation \"m 1\"\n>> p.summary #A quick summary of the passage interpretation\n\n['m 1', 'M_1', 'M1', 'CELL', 'MDCK', 'exactly', '1']\n\n>>pp.parse_passage(\"e 1/m3\", 4)\n>>p.original #The input passage\ne 1/mdck3 \n\n>>p.plain_format #The input passage capitalized w/ special characters removed \nE_1_MDCK3\n\n>>p.coerced_format #Standardized format where each passage is separated by an underscore\n#And common passage IDs are shortened\n#This step is currently useful for common annotations, but can return nonsense for parse uncommon or weirdly formatted passages\nE1_M3\n\n>>p.ordered_passages #Each round of passaging in a list\n[\"E1\", \"M3\"]\n\n>>p.general_passages #The broad categories of the passage types\n[\"EGG\", \"CANINECELL\"]\n\n>>p.specific_passages #More specific categories of the passage types (if known)\n[\"EGG\", \"MDCK\"]\n\n>>p.total_passages #The total rounds of passaging, if it can be determined\n4\n\n>>p.min_passages # At least this many rounds occurred (useful for passage IDs without numbers of rounds annotated)\n4\n\n>>p.passage_series #An ordered list of each round of passaging\n[[1, 'EGG'], [2,'MDCK'], [3,'MDCK'], [4, 'MDCK']]\n\n\n>>p.summary #A quick listing of passage features\n['e 1/mdck3', 'E_1_MDCK3', 'E1_M3, 'EGG+CANINECELL', 'EGG + MDCK', 'exactly', '4']\n# 1. original input, 2. standardized input, 3. coerced format input, 4. general passage type(s), 5. specific passage type(s), 6. qualifier for number of passages, 7. number of passages\n\n\n```\n\n### Command line usage\n\n$ translate_passage \n\nusage: translate_passage [-h] [-f INFILE] [-p PASSAGE] [-o OUTFILE]\n\nA command line tool to parse influenza passaging annotations\n\noptional arguments:\n -h, --help show this help message and exit\n -f INFILE, --infile INFILE\n A files of passage IDs, ex M1 S4, one per line\n -p PASSAGE, --passage PASSAGE\n A single passage ID to be parsed, ex. E4\n -o OUTFILE, --outfile OUTFILE\n An outfile to store output\n\nex.\n```bash\n$ translate_passage -p 'm2 + rhmk1'\nm2 + rhmk1,M2_RHMK1,M2_R1,CANINECELL+MONKEYCELL,MDCK+RHMK,exactly,\n\n\n```\n\n### Passage ID interpretation\n\nA single number that follows a previous passage type is given the identity of the previous passage type\nEx. Mdck3 + 2 is interpreted to have gone through 5 MDCK passages\n\n\nX following a passage type, ex. MX means an unknown number of passages. X alone ex. X2 means an unknown cell culture. \n\n### Passage assignments\n\n\n #### CANINECELL passages\n \n - SIAT passage = [\"SIAT\", \"S\", \"MDCKSIAT\"] \n - MDCK passage = [\"MDCK\", \"M\", \"MK\"]\n - UNKNOWNCELL passage = [\"C\", \"X\"]\n #### MONKEYCELL passages\n - RHMK = [\"RHMK\", \"RMK\", \"R\", \"PRHMK\", \"RII\"]\n - TMK = [\"TMK\"]\n - VERO = [\"VERO\", \"V\"]\n #### EGG passages\n - EGG = [\"AL\", \"ALLANTOIC\", \"EGG\", \"E\", \"AM\", \"AMNIOTIC\"]\n #### PIGCELL passages\n - PTHYR = [\"PTHYR\"]\n #### CHICKCELL passages\n -chickcell = [\"SPFCK\", \"CK\", \"PCK\"]\n #### UNKNOWN passages\n - unknown = [\"UNKNOWN\", \"P\", \"\", \"NC\"]\n #### R-MIX passage\n - RMIX = [\"R_MIX\", \"RMIX\"]\n #### MINKCELL passage\n - MINKCELL = [\"MV_1_LU\", \"MV1_LU\", \"MV1_LUNG\"]\n\n CANINECELL = SIAT + MDCK\n\n MONKEYCELL = RHMK + TMK + VERO\n\n ALL_CELLS = CANINECELL + MONKEYCELL + UNKNOWNCELL + CHICKCELL + RMIX + MINKCELL\n\n ALL_PASSAGES = CANINECELL + MONKEYCELL + EGG + UNKNOWN + PIGCELL + UNKNOWNCELL + CHICKCELL + RMIX + MINKCELL\n\n### Custom passage annotations\n\nIf a passage ID hasn't been observed in the flupan database or can't be parsed, it is given empty annotations. \n\nThere are two ways to add in custom annotations:\n\n 1. Custom annotations can be added to nonstandard_passages_input.txt followed by running generate_passage_table.py. This will add append custom annotations to passage_lookup.txt \n\n 2. Add directly to passage_lookup.txt. Warning: Running generate_passage_table.py will overwrite any changes made directly to passage_lookup.txt. \n\n 3. Custom passage categories can be added to the generate_passage_table.py script to generate passage annotations from scratch\n\nCustom passage annotation should be written 1 per line in the form:\n\npassage,general_type, specific_type,number_of_rounds\nex. MDCK3,CANINECELL,MDCK,3 \n\n\n### Tables\nTables use in flupan are stored in src/tables\n\npassage_lookup.txt: lookup table generated by running generate_passage_table.py. Concatenation of generated passage annotations, nonstandard_passages_input.txt, and unknown_passages_input.txt annotations. Required by flupan. \n\nnonstandard_passages_input.txt: Table of custom passage annotations\n\nunknown_passages_input.txt: Table of uninterpretable passage IDs.\n\ncoerce_format.txt: Table of passage key words and simplified versions ex. SIAT S. Required by flupan\n\n\n\n\n\n\n\n\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/clauswilke/flupan", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "flupan", "package_url": "https://pypi.org/project/flupan/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/flupan/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/clauswilke/flupan" }, "release_url": "https://pypi.org/project/flupan/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Python library to parse influenza passaging annotations", "version": "0.1.1" }, "last_serial": 2303879, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "d373b7fb9af487e847aa6168824f233f", "sha256": "4d13b9edd5894f552ca671c6b97ef75ecff8a4750d535416691b47cf141138ae" }, "downloads": -1, "filename": "flupan-0.0.1.tar.gz", "has_sig": false, "md5_digest": "d373b7fb9af487e847aa6168824f233f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1859, "upload_time": "2016-07-18T05:06:05", "url": "https://files.pythonhosted.org/packages/91/64/61e6df6866d2e2d01e3170734e063aa314660226fe4421da533a6225ff4f/flupan-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "24c0f60a1719c44952a23b97e5069ecb", "sha256": "44fe73db34106859a516b4a326c1f44d578d92c88352136269c1afe87977a1ef" }, "downloads": -1, "filename": "flupan-0.0.2.tar.gz", "has_sig": false, "md5_digest": "24c0f60a1719c44952a23b97e5069ecb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2636, "upload_time": "2016-07-18T05:38:33", "url": "https://files.pythonhosted.org/packages/1c/0b/f48b9d31ff3b619695c4a7b84bd79676106600ad1f3bd26ce76ec267d11c/flupan-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "1bbc0f1981ae8e43c43ed93fd216cd9f", "sha256": "cc8d6c205f847c81235137549be4e3cbe743fdceee4d0c756b73228d6288b451" }, "downloads": -1, "filename": "flupan-0.0.3.tar.gz", "has_sig": false, "md5_digest": "1bbc0f1981ae8e43c43ed93fd216cd9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2976, "upload_time": "2016-07-19T04:54:49", "url": "https://files.pythonhosted.org/packages/cf/1f/3718cb52eea83f6d924c67e025dfeadc407e13e775ecfe4a08e9f999a846/flupan-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "b1ea3fbc64ade00801a0c9a26aa39681", "sha256": "7c906b75e0ad38229abde6864de032f57a6eebb3c74e6cee8fbcd6dc64c82b0b" }, "downloads": -1, "filename": "flupan-0.0.4.tar.gz", "has_sig": false, "md5_digest": "b1ea3fbc64ade00801a0c9a26aa39681", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2978, "upload_time": "2016-07-19T05:39:11", "url": "https://files.pythonhosted.org/packages/41/ac/95eb4f28c4385d88faaab33e1858a9e26c76d9bc9e60a55381ad90c4d398/flupan-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "fce5063bf32556c924362c30ba521f70", "sha256": "f3bf5d789b08a3e5364a6ad152d8cbee629bce3ae5c1ef4bf32d0d6c362fe403" }, "downloads": -1, "filename": "flupan-0.0.5.tar.gz", "has_sig": false, "md5_digest": "fce5063bf32556c924362c30ba521f70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4448, "upload_time": "2016-07-25T03:42:21", "url": "https://files.pythonhosted.org/packages/44/37/33e810d24f568b518cc1c351b39bed405c7113ba8f2f1d93da0ebc519ad9/flupan-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "e842ae7d214918472e4d9b9fe8370268", "sha256": "67b2928d53697c55e9565c963461aba52e4d823ad432ded3309ceec3e72c3fa9" }, "downloads": -1, "filename": "flupan-0.0.6.tar.gz", "has_sig": false, "md5_digest": "e842ae7d214918472e4d9b9fe8370268", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3472, "upload_time": "2016-08-18T01:38:30", "url": "https://files.pythonhosted.org/packages/81/fb/2229726eeb0ec502acfb9f751d4cb122c2012b15506ff7964e50827a841b/flupan-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "fb7a99d1069994a7cfc8f5dc9ded8520", "sha256": "d8200e7f26ee2164e95b269f92e35961a260b35f56248658b81215a86a4afeae" }, "downloads": -1, "filename": "flupan-0.0.7.tar.gz", "has_sig": false, "md5_digest": "fb7a99d1069994a7cfc8f5dc9ded8520", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54981, "upload_time": "2016-08-23T21:35:51", "url": "https://files.pythonhosted.org/packages/fb/4b/a167c3438687521b746d044379d3293a423dcc0b54596efdeb932bf6197b/flupan-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "df1df1c974a207ad1b9fac11f9f5a141", "sha256": "cc05f1837ea79f9d803fcd1cdb4164a613d370f4cb2f400237cc7dc83dd4edf1" }, "downloads": -1, "filename": "flupan-0.0.8.tar.gz", "has_sig": false, "md5_digest": "df1df1c974a207ad1b9fac11f9f5a141", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56372, "upload_time": "2016-08-23T22:06:48", "url": "https://files.pythonhosted.org/packages/9d/98/430789a173be6ee2b6bcfeff9e4119ab5100ef133dc8fa729d3c7a42e787/flupan-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "94c22efe579e64f5e33c53ec86a12ca7", "sha256": "b68f2b01729214365309f580e0599db6e60df2da1833515c3a641c6d3270d5e4" }, "downloads": -1, "filename": "flupan-0.0.9.tar.gz", "has_sig": false, "md5_digest": "94c22efe579e64f5e33c53ec86a12ca7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61656, "upload_time": "2016-08-24T00:38:59", "url": "https://files.pythonhosted.org/packages/dd/a8/853697f0c3e0454de0477e85f80840e5711c166e0d01a1c4029a4c524928/flupan-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "131f1e0ecab74ca11e65c21cc6a39f44", "sha256": "47249929f86609706b6d672ab1837ff9675f4572d3c1702eb746b2142dbddc71" }, "downloads": -1, "filename": "flupan-0.1.0.tar.gz", "has_sig": false, "md5_digest": "131f1e0ecab74ca11e65c21cc6a39f44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61454, "upload_time": "2016-08-25T16:23:36", "url": "https://files.pythonhosted.org/packages/4a/00/c8dff33e178405cb22c6129796368926ce4d97df162381d65c5095503565/flupan-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "a304a813dab370b1281e4c8a49f7d0d5", "sha256": "64b2740f592e1d29c71d4c19b02ee1a308c00ba0dd2c9266b733fc933203ed70" }, "downloads": -1, "filename": "flupan-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a304a813dab370b1281e4c8a49f7d0d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66328, "upload_time": "2016-08-25T16:37:59", "url": "https://files.pythonhosted.org/packages/91/e2/6191ca130bfe7bc0dee248e35093cbdcdaf75ac5894f1ab7599a93e17fc4/flupan-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a304a813dab370b1281e4c8a49f7d0d5", "sha256": "64b2740f592e1d29c71d4c19b02ee1a308c00ba0dd2c9266b733fc933203ed70" }, "downloads": -1, "filename": "flupan-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a304a813dab370b1281e4c8a49f7d0d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66328, "upload_time": "2016-08-25T16:37:59", "url": "https://files.pythonhosted.org/packages/91/e2/6191ca130bfe7bc0dee248e35093cbdcdaf75ac5894f1ab7599a93e17fc4/flupan-0.1.1.tar.gz" } ] }