Giter Site home page Giter Site logo

pythonpdb's Introduction

PythonPDB

Tools for working with Protein Data Bank Files. This package was created to provide a bridge between python based OOP (like BioPython) and dataframe/pandas style interfaces (like BioPandas).

Key Links

Installation

The package is available on PyPi and can be downloaded as follows.

pip install python-pdb

Installing for Development

To work on this package, download the git repository...

git clone https://github.com/benjiemc/PythonPDB.git

# or using SSH
git clone [email protected]:benjiemc/PythonPDB.git

cd PythonPDB/

... and then install the package with development dependencies (best practice is to use a virtual environment).

python3 -m venv venv
pip install -e '.[develop]'

Documentation

Documentation can be found at https://benjiemc.github.io/PythonPDB/.

pythonpdb's People

Contributors

benjiemc avatar fspoendlin avatar

Stargazers

Dawid Zyla avatar  avatar Olivia avatar Amir Motmaen avatar Michael Lazear avatar

Watchers

 avatar

Forkers

fspoendlin

pythonpdb's Issues

Add automatic versioning to package

Should be bump-able via minor, major, etc notes in the commit messages.

The git tag, pyproject.toml, and package version should be updated.

Create parsing engine

The idea here is to create a layer for different formats (PDB, mmCIF, pandas, csv, etc) to interface with to reduce duplicate code.

Eg: Structure.from_pdb(...) and Structure.from_pandas(...) are very similar but have slightly different input formats- requiring different mehtods. The goal would be to have a layer that standardizes the input and then a layer that builds the structure from this.

Ideas:

  • Use namedtuple objects to store record information and feed them into the parsing engine to build the structure
  • Use generators to reduce looping through records multiple times

Add `in` property to entities

Would be great to have the functionality of checking if something is a part of the other entity.

Eg: atom in residue

Implemented through __contains__(self, key) method

Add functionality for `to_sequence()` method

This would convert either a Structure, Model, or Chain into a fasta formatted sequence.

The entity level could be conveyed in fasta header:

...
print(chain.to_sequence())
>A
PROTEIN

all to

...
print(structure.to_sequence())
>1:A
PROTEIN

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.