pathway-abstract-classifier

A tool to classify journal abstracts with pathway content.

https://github.com/pathwaycommons/pathway-abstract-classifier

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

A tool to classify journal abstracts with pathway content.

Basic Info
  • Host: GitHub
  • Owner: PathwayCommons
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: development
  • Size: 5.5 MB
Statistics
  • Stars: 0
  • Watchers: 7
  • Forks: 1
  • Open Issues: 1
  • Releases: 5
Created about 4 years ago · Last pushed over 3 years ago
Metadata Files
Readme Changelog License Citation

README.md

Open In Colab Open in Streamlit build License codecov

Pathway Abstract Classifier

A tool to classify articles with biological pathway information.

Requirements

This project requires Python 3.8 or 3.9.

Installation

Set up a virtual environment. Here, we use miniconda to create an environment named testenv:

bash $ conda create --name testenv python=3.8 $ conda activate testenv

sh pip install pathway-abstract-classifier

Usage

Example

Classify one article with biological pathway information and one that clearly does not.

```py from pathwayabstractclassifier.pathwayabstractclassifier import Classifier

Example articles

documents = [ { 'title': 'YTHDC1-mediated augmentation of miR-30d in repressing pancreatic tumorigenesis via attenuation of RUNX1-induced transcriptional activation of Warburg effect', 'abstract': 'Pancreatic ductal adenocarcinoma (PDAC) is one of the most lethal human cancers. It thrives in a malnourished environment; however, little is known about the mechanisms by which PDAC cells actively promote aerobic glycolysis to maintain their metabolic needs. Gene Expression Omnibus (GEO) was used to identify differentially expressed miRNAs. The expression pattern of miR-30d in normal and PDAC tissues was studied by in situ hybridization. The role of miR-30d/RUNX1 in vitro and in vivo was evaluated by CCK8 assay and clonogenic formation as well as transwell experiment, subcutaneous xenograft model and liver metastasis model, respectively. Glucose uptake, ATP and lactate production were tested to study the regulatory effect of miR-30d/RUNX1 on aerobic glycolysis in PDAC cells. Quantitative real-time PCR, western blot, Chip assay, promoter luciferase activity, RIP, MeRIP, and RNA stability assay were used to explore the molecular mechanism of YTHDC1/miR-30d/RUNX1 in PDAC. Here, we discover that miR-30d expression was remarkably decreased in PDAC tissues and associated with good prognosis, contributed to the suppression of tumor growth and metastasis, and attenuation of Warburg effect. Mechanistically, the m6A reader YTHDC1 facilitated the biogenesis of mature miR-30d via m6A-mediated regulation of mRNA stability. Then, miR-30d inhibited aerobic glycolysis through regulating SLC2A1 and HK1 expression by directly targeting the transcription factor RUNX1, which bound to the promoters of the SLC2A1 and HK1 genes. Moreover, miR-30d was clinically inversely correlated with RUNX1, SLC2A1 and HK1, which function as adverse prognosis factors for overall survival in PDAC tissues. Overall, we demonstrated that miR-30d is a functional and clinical tumor-suppressive gene in PDAC. Our findings further uncover that miR-30d is a novel target for YTHDC1 through m6A modification, and miR-30d represses pancreatic tumorigenesis via suppressing aerobic glycolysis.' }, { 'title': 'Loss of 15-lipoxygenase disrupts T reg differentiation altering their pro-resolving functions', 'abstract': 'Regulatory T-cells (Tregs) are central in the maintenance of homeostasis and resolution of inflammation. However, the mechanisms that govern their differentiation and function are not completely understood. Herein, we demonstrate a central role for the lipid mediator biosynthetic enzyme 15-lipoxygenase (ALOX15) in regulating key aspects of Treg biology. Pharmacological inhibition or genetic deletion of ALOX15 in Tregs decreased FOXP3 expression, altered Treg transcriptional profile and shifted their metabolism. This was linked with an impaired ability of Alox15-deficient cells to exert their pro-resolving actions, including a decrease in their ability to upregulate macrophage efferocytosis and a downregulation of interferon gamma expression in Th1 cells. Incubation of Tregs with the ALOX15-derived specilized pro-resolving mediators (SPM)s Resolvin (Rv)D3 and RvD5n-3 DPA rescued FOXP3 expression in cells where ALOX15 activity was inhibited. In vivo, deletion of Alox15 led to increased vascular lipid load and expansion of Th1 cells in mice fed western diet, a phenomenon that was reversed when Alox15-deficient mice were reconstituted with wild type Tregs. Taken together these findings demonstrate a central role of pro-resolving lipid mediators in governing the differentiation of naive T-cells to Tregs.'

}

]

Make predictions. Ktrain may throw a UserWarning which you can safely ignore.

classifier = Classifier() predictions = classifier.predict(documents)

Each Prediction contains fields: document, classification and probability

assert prediction[0].classification == 1 assert prediction[1].classification == 0 ```

Testing

From within the directory housing the GitHub repository:

bash $ poetry install

Run the test script:

bash $ ./test.sh

Under the hood, the tests are run with pytest. The test script also does a lint check with flake8 and type check with mypy.

Publishing a release

A GitHub workflow will automatically version and release this package to PyPI following a push directly to main or when a pull request is merged into main. A push/merge to main will automatically bump up the patch version.

We use Python Semantic Release (PSR) to manage versioning. By making a commit with a well-defined message structure, PSR will scan commit messages and bump the version accordingly in accordance with semver.

For a patch bump:

bash $ git commit -m "fix(app): some comment for this patch version"

For a minor bump:

bash $ git commit -m "feat(pathway_abstract_classifier): some comment for this minor version bump"

For a release:

bash $ git commit -m "feat(pathway_abstract_classifier): some comment for this release\n\nBREAKING CHANGE: other footer text."

Resources

See the tutorial (or open it in Colab) for a more detailed guide on potential usage. Importantly, this tutorial shows how to conduct threshold-moving, which you can learn more about here. Also consider taking a look at the Ktrain documentation and repo which contains some very good tutorials.

Owner

  • Name: Pathway Commons
  • Login: PathwayCommons
  • Kind: organization
  • Email: pathway-commons-help@googlegroups.com
  • Location: Toronto, New York City, Boston, Portland

A network biology resource for biological pathway information and software.

Citation (CITATION.cff)

cff-version: 1.2.0
title: pathway-abstract-classifier
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Steven
    family-names: Palayew
    affiliation: University of Toronto
  - given-names: Jeffery
    family-names: Wong
    affiliation: University of Toronto
  - given-names: John
    family-names: Giorgi
    affiliation: University of Toronto
  - given-names: Max
    family-names: Franz
    affiliation: University of Toronto
  - given-names: Gary
    family-names: Bader
    affiliation: University of Toronto
repository-code: >-
  https://github.com/PathwayCommons/pathway-abstract-classifier
abstract: >-
  A tool to classify articles with biological pathway
  information.
license: MIT

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: almost 2 years ago

All Time
  • Total issues: 13
  • Total pull requests: 36
  • Average time to close issues: 4 days
  • Average time to close pull requests: about 8 hours
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 2.23
  • Average comments per pull request: 1.36
  • Merged pull requests: 34
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jvwong (9)
  • JohnGiorgi (3)
  • Steven-Palayew (1)
Pull Request Authors
  • jvwong (16)
  • Steven-Palayew (13)
  • JohnGiorgi (7)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 17 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 5
  • Total maintainers: 1
pypi.org: pathway-abstract-classifier

A tool to classify articles containing biological pathway information

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 17 Last month
Rankings
Dependent packages count: 10.1%
Dependent repos count: 21.6%
Forks count: 22.6%
Average: 28.9%
Stargazers count: 38.8%
Downloads: 51.2%
Maintainers (1)
Last synced: 10 months ago

Dependencies

dev-requirements.txt pypi
  • black * development
  • flake8 * development
  • pytest * development
  • streamlit * development
poetry.lock pypi
  • 208 dependencies
pyproject.toml pypi
  • black ^22.3.0 develop
  • flake8 ^4.0.1 develop
  • mypy ^0.950 develop
  • pytest ^7.1.2 develop
  • pytest-cov ^3.0.0 develop
  • pytest-datadir ^1.3.1 develop
  • pytest-mock ^3.7.0 develop
  • python-semantic-release ^7.28.1 develop
  • streamlit ^1.9.0 develop
  • cached-path ^1.1.1
  • ktrain 0.30.0
  • pydantic ^1.9.0
  • python >=3.8,<3.10
  • tensorflow 2.8.0
requirements.txt pypi
  • cached-path ==1.1.1
  • ktrain ==0.30.0
  • tensorflow ==2.8.0
.github/workflows/ci-cd.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • snok/install-poetry v1 composite