Skip to main content

A tool for collecting citation data from PubMed and analyzing author relationships

Project description

Midterm Project

This repo contains our Python package project

Project Proposal:

Team Commit To The Git (Armelle Duston, Brandon Spiegel and Shanta Murthy) The proposal below summarizes is an outline addressing each component of the rubric

Potential data sources

  • We plan to focus on sources with distinct “entries” containing content and metadata that enables forming a network structure and conducting analysis using the content within entries
  • This may be sites hosting academic journal articles such as PubMed and ArXiv, or clinical trial information such as clinicaltrials.gov

Data Scaffolding:

  • The above sources have public API’s, so data access will occur in a few steps:
    1. a user interface will enable users to fetch data on the fly.
    2. fetching data will be performed by translating user inputs into API requests
    3. data will be housed on a users local pc (client-side)
  • Guardrails will be used to rate-limit user requests
  • Separation of concerns between the user interface and the creation of API requests will allow us to limit access to a subset of the data source (eg only articles published in the last X years, or only articles in English)

Data Navigation:

  • One element of interest is to enable users to calculate the “degrees of separation” between any pair of authors by traversing through co-authors on their respective publications. This amounts to calculating the shortest path between two nodes on a graph and will require an algorithm to navigate the data
  • We are also considering different ways of “clustering” authors based on similarity metrics, which may include dynamic programming or other algorithms as explored in recent homeworks

Data Analysis:

  • The core analysis task here is an implementation of spectral clustering to group authors into k clusters based on the "closeness" of their coauthorships where k is user-defined This is done in a few key steps: First, create the adjacency and degree matrices and derive the laplacian based on coauthorships. Second, get the smallest k eigenvalues and eigenvectors (skipping over the smallest). Third use a k-means clustering algorithm to form clusters. The key computational element includes use of scipy sparse matrices and scipy sparse eigenvector/value functions to speed up computation, and a timeout in the case of slow convergence. A dictionary from authors to their assigned cluster is returned for use in downstream visualizations.

Interactive Visualization:

  • The above “degrees of separation” idea can be displayed using packages to visualize network data
  • Additionally, we can create an interactive map to enable users to learn about the type of research published across different institutions, and overlay networks graphs based on how those institutions are connected as well as show how things change over time

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pubmed_citation-0.1.1.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pubmed_citation-0.1.1-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file pubmed_citation-0.1.1.tar.gz.

File metadata

  • Download URL: pubmed_citation-0.1.1.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for pubmed_citation-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2eaf2143e7ba5658bfe19fec38086129e60ea13e51cbaab54e2ef72277c6c593
MD5 15a85c220623bc29e50d88e9cc1410b3
BLAKE2b-256 3fc152be88d66ca1731ef3815f2757662c8da6064292983fe1db6e7640775e37

See more details on using hashes here.

File details

Details for the file pubmed_citation-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pubmed_citation-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 33691d416247213cae3351cdcbaadc2170b8e28e24efc3b2cfb07366eb6df61a
MD5 a6d125557f00ee3f6c1accc6157aa219
BLAKE2b-256 060283e242aaa34b1e2fbf3a82ad73252af03f299375a836e4f1871e1cdcbbe2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page