Repository files navigation

profet

A Python 3 protein structure fetcher. Retrieves the cif or pdb files from either the RCSB Protein Data Bank (PDB, using pypdb) or Alphafold using the Uniprot ID.

Code style: blackPyPI version shields.ioPyPI pyversions

BuildingPublishingDocumentation

Dependencies

Please install the latest version of PyPDB using:

pip install pypdb

or

pip install git+git://github.com/williamgilpin/pypdb

Installation

For users

Install profet using pip:

pip install profet

For developers

To install the development version, which contains the latest features and fixes, install directly from GitHub using:

pip install git+git://github.com/ccpem/profet

To test the installation, you need to have pytest and pytest-cov packagages installed which can be done as follows.

pip install pytest pytest-cov

Then navigate to the root directory of the package and run

pytest

This code has been designed and tested for Python 3.

Usage

This package can be used to retrieve the available protein structure from any Uniprot ID. It can also be used to automatically delete signal peptides off the structure.

Python API Usage

The Fetcher class can search the IDs in both PDB and Alphafold, and saves the search results in a dictionary.

get_file returns the structure corresponding to uniprot_id in the defined filetype: (default as 'pdb', option as 'cif'), searching first in the defaulted database db (default as 'pdb', option as 'alphafold'). The files can be saved to a local file with filesave: the files are saved as uniprotID.<filetype>, except when the files are fetched from PDB and, in that case, are saved as uniprotID_pdbID.<filetype>.

set_default_db changes the default database into the given one between 'pdb' and 'alphafold'.

set_directory changes the directory where the files are saved. Files save as <directory>/<id>.<filetype>.

Run search_history() to see the search history of the fetcher.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P61316", filetype="pdb", filesave=True, db="alphafold")
fetcher.search_history()

returns:

{'P61316': ['pdb', 'alphafold']}

Loads profet and the file-fetcher, then specifies a directory to save the files at. Lastly, downloads the protein with uniprod ID "P61316", in pdb format from the Alphafold databank and saves it in the specified directory.

For more detailed examples consult the following Python notebook.

Signal Peptide Cleaving Usage

Once a structure is downloaded using get_file, the signal cleaving function cleave_off_signal_peptides from the Fetcher class, compares the sequence of the structure to the UniProt database for any signal peptides included in the structure. It then automatically deletes the signal peptides from the structure. The cleaved structure is saved as a separate file, with the deleted residue positions added to the filename. In the case of no signal peptides being detected, as new file named "structure-ID_None.cif/.pdb" will be saved.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P0A855", filetype="pdb", filesave=True, db="alphafold")
fetcher.cleave_off_signal_peptides("P0A855")

This will save p0a855.pdb and p0a855_cleaved_1to21.pdb to the specified directory.

Command Line Usage

The profet library also has a command line interface that mirrors the python API and which can be used to download entries from both the PDB and AlphaFold. An example of how to use the profet command line program is shown in the following code snippet.

profet 4v1w \
--filetype=pdb \
--main_db=pdb \
--save_directory="~/.pdb"

In this example, the entry "4V1W" is to be downloaded from the PDB database as a .pdb file. The file will be cached in the "~/.pdb" directory for future use.

Documentation

You can find more documentation including a description of the python api here.

Issues and Feature Requests

If you run into an issue, or if you find a workaround for an existing issue, we would very much appreciate it if you could post your question or code as a GitHub issue.

Contributions

If you would like to help contribute to profet, please read our contribution guide and code of conduct.

About

Protein structure Fetcher

Resources

Code of conduct

Contributing

Stars

6 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

profet

A Python 3 protein structure fetcher. Retrieves the cif or pdb files from either the RCSB Protein Data Bank (PDB, using pypdb) or Alphafold using the Uniprot ID.

Code style: blackPyPI version shields.ioPyPI pyversions

BuildingPublishingDocumentation

Dependencies

Please install the latest version of PyPDB using:

pip install pypdb

or

pip install git+git://github.com/williamgilpin/pypdb

Installation

For users

Install profet using pip:

pip install profet

For developers

To install the development version, which contains the latest features and fixes, install directly from GitHub using:

pip install git+git://github.com/ccpem/profet

To test the installation, you need to have pytest and pytest-cov packagages installed which can be done as follows.

pip install pytest pytest-cov

Then navigate to the root directory of the package and run

pytest

This code has been designed and tested for Python 3.

Usage

This package can be used to retrieve the available protein structure from any Uniprot ID. It can also be used to automatically delete signal peptides off the structure.

Python API Usage

The Fetcher class can search the IDs in both PDB and Alphafold, and saves the search results in a dictionary.

get_file returns the structure corresponding to uniprot_id in the defined filetype: (default as 'pdb', option as 'cif'), searching first in the defaulted database db (default as 'pdb', option as 'alphafold'). The files can be saved to a local file with filesave: the files are saved as uniprotID.<filetype>, except when the files are fetched from PDB and, in that case, are saved as uniprotID_pdbID.<filetype>.

set_default_db changes the default database into the given one between 'pdb' and 'alphafold'.

set_directory changes the directory where the files are saved. Files save as <directory>/<id>.<filetype>.

Run search_history() to see the search history of the fetcher.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P61316", filetype="pdb", filesave=True, db="alphafold")
fetcher.search_history()

returns:

{'P61316': ['pdb', 'alphafold']}

Loads profet and the file-fetcher, then specifies a directory to save the files at. Lastly, downloads the protein with uniprod ID "P61316", in pdb format from the Alphafold databank and saves it in the specified directory.

For more detailed examples consult the following Python notebook.

Signal Peptide Cleaving Usage

Once a structure is downloaded using get_file, the signal cleaving function cleave_off_signal_peptides from the Fetcher class, compares the sequence of the structure to the UniProt database for any signal peptides included in the structure. It then automatically deletes the signal peptides from the structure. The cleaved structure is saved as a separate file, with the deleted residue positions added to the filename. In the case of no signal peptides being detected, as new file named "structure-ID_None.cif/.pdb" will be saved.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P0A855", filetype="pdb", filesave=True, db="alphafold")
fetcher.cleave_off_signal_peptides("P0A855")

This will save p0a855.pdb and p0a855_cleaved_1to21.pdb to the specified directory.

Command Line Usage

The profet library also has a command line interface that mirrors the python API and which can be used to download entries from both the PDB and AlphaFold. An example of how to use the profet command line program is shown in the following code snippet.

profet 4v1w \
--filetype=pdb \
--main_db=pdb \
--save_directory="~/.pdb"

In this example, the entry "4V1W" is to be downloaded from the PDB database as a .pdb file. The file will be cached in the "~/.pdb" directory for future use.

Documentation

You can find more documentation including a description of the python api here.

Issues and Feature Requests

If you run into an issue, or if you find a workaround for an existing issue, we would very much appreciate it if you could post your question or code as a GitHub issue.

Contributions

If you would like to help contribute to profet, please read our contribution guide and code of conduct.

About

Protein structure Fetcher

Resources

Code of conduct

Contributing

Stars

6 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

profet

A Python 3 protein structure fetcher. Retrieves the cif or pdb files from either the RCSB Protein Data Bank (PDB, using pypdb) or Alphafold using the Uniprot ID.

Code style: blackPyPI version shields.ioPyPI pyversions

BuildingPublishingDocumentation

Dependencies

Please install the latest version of PyPDB using:

pip install pypdb

or

pip install git+git://github.com/williamgilpin/pypdb

Installation

For users

Install profet using pip:

pip install profet

For developers

To install the development version, which contains the latest features and fixes, install directly from GitHub using:

pip install git+git://github.com/ccpem/profet

To test the installation, you need to have pytest and pytest-cov packagages installed which can be done as follows.

pip install pytest pytest-cov

Then navigate to the root directory of the package and run

pytest

This code has been designed and tested for Python 3.

Usage

This package can be used to retrieve the available protein structure from any Uniprot ID. It can also be used to automatically delete signal peptides off the structure.

Python API Usage

The Fetcher class can search the IDs in both PDB and Alphafold, and saves the search results in a dictionary.

get_file returns the structure corresponding to uniprot_id in the defined filetype: (default as 'pdb', option as 'cif'), searching first in the defaulted database db (default as 'pdb', option as 'alphafold'). The files can be saved to a local file with filesave: the files are saved as uniprotID.<filetype>, except when the files are fetched from PDB and, in that case, are saved as uniprotID_pdbID.<filetype>.

set_default_db changes the default database into the given one between 'pdb' and 'alphafold'.

set_directory changes the directory where the files are saved. Files save as <directory>/<id>.<filetype>.

Run search_history() to see the search history of the fetcher.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P61316", filetype="pdb", filesave=True, db="alphafold")
fetcher.search_history()

returns:

{'P61316': ['pdb', 'alphafold']}

Loads profet and the file-fetcher, then specifies a directory to save the files at. Lastly, downloads the protein with uniprod ID "P61316", in pdb format from the Alphafold databank and saves it in the specified directory.

For more detailed examples consult the following Python notebook.

Signal Peptide Cleaving Usage

Once a structure is downloaded using get_file, the signal cleaving function cleave_off_signal_peptides from the Fetcher class, compares the sequence of the structure to the UniProt database for any signal peptides included in the structure. It then automatically deletes the signal peptides from the structure. The cleaved structure is saved as a separate file, with the deleted residue positions added to the filename. In the case of no signal peptides being detected, as new file named "structure-ID_None.cif/.pdb" will be saved.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P0A855", filetype="pdb", filesave=True, db="alphafold")
fetcher.cleave_off_signal_peptides("P0A855")

This will save p0a855.pdb and p0a855_cleaved_1to21.pdb to the specified directory.

Command Line Usage

The profet library also has a command line interface that mirrors the python API and which can be used to download entries from both the PDB and AlphaFold. An example of how to use the profet command line program is shown in the following code snippet.

profet 4v1w \
--filetype=pdb \
--main_db=pdb \
--save_directory="~/.pdb"

In this example, the entry "4V1W" is to be downloaded from the PDB database as a .pdb file. The file will be cached in the "~/.pdb" directory for future use.

Documentation

You can find more documentation including a description of the python api here.

Issues and Feature Requests

If you run into an issue, or if you find a workaround for an existing issue, we would very much appreciate it if you could post your question or code as a GitHub issue.

Contributions

If you would like to help contribute to profet, please read our contribution guide and code of conduct.

About

Protein structure Fetcher

Resources

Code of conduct

Contributing

Stars

6 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

profet

A Python 3 protein structure fetcher. Retrieves the cif or pdb files from either the RCSB Protein Data Bank (PDB, using pypdb) or Alphafold using the Uniprot ID.

Code style: blackPyPI version shields.ioPyPI pyversions

BuildingPublishingDocumentation

Dependencies

Please install the latest version of PyPDB using:

pip install pypdb

or

pip install git+git://github.com/williamgilpin/pypdb

Installation

For users

Install profet using pip:

pip install profet

For developers

To install the development version, which contains the latest features and fixes, install directly from GitHub using:

pip install git+git://github.com/ccpem/profet

To test the installation, you need to have pytest and pytest-cov packagages installed which can be done as follows.

pip install pytest pytest-cov

Then navigate to the root directory of the package and run

pytest

This code has been designed and tested for Python 3.

Usage

This package can be used to retrieve the available protein structure from any Uniprot ID. It can also be used to automatically delete signal peptides off the structure.

Python API Usage

The Fetcher class can search the IDs in both PDB and Alphafold, and saves the search results in a dictionary.

get_file returns the structure corresponding to uniprot_id in the defined filetype: (default as 'pdb', option as 'cif'), searching first in the defaulted database db (default as 'pdb', option as 'alphafold'). The files can be saved to a local file with filesave: the files are saved as uniprotID.<filetype>, except when the files are fetched from PDB and, in that case, are saved as uniprotID_pdbID.<filetype>.

set_default_db changes the default database into the given one between 'pdb' and 'alphafold'.

set_directory changes the directory where the files are saved. Files save as <directory>/<id>.<filetype>.

Run search_history() to see the search history of the fetcher.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P61316", filetype="pdb", filesave=True, db="alphafold")
fetcher.search_history()

returns:

{'P61316': ['pdb', 'alphafold']}

Loads profet and the file-fetcher, then specifies a directory to save the files at. Lastly, downloads the protein with uniprod ID "P61316", in pdb format from the Alphafold databank and saves it in the specified directory.

For more detailed examples consult the following Python notebook.

Signal Peptide Cleaving Usage

Once a structure is downloaded using get_file, the signal cleaving function cleave_off_signal_peptides from the Fetcher class, compares the sequence of the structure to the UniProt database for any signal peptides included in the structure. It then automatically deletes the signal peptides from the structure. The cleaved structure is saved as a separate file, with the deleted residue positions added to the filename. In the case of no signal peptides being detected, as new file named "structure-ID_None.cif/.pdb" will be saved.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P0A855", filetype="pdb", filesave=True, db="alphafold")
fetcher.cleave_off_signal_peptides("P0A855")

This will save p0a855.pdb and p0a855_cleaved_1to21.pdb to the specified directory.

Command Line Usage

The profet library also has a command line interface that mirrors the python API and which can be used to download entries from both the PDB and AlphaFold. An example of how to use the profet command line program is shown in the following code snippet.

profet 4v1w \
--filetype=pdb \
--main_db=pdb \
--save_directory="~/.pdb"

In this example, the entry "4V1W" is to be downloaded from the PDB database as a .pdb file. The file will be cached in the "~/.pdb" directory for future use.

Documentation

You can find more documentation including a description of the python api here.

Issues and Feature Requests

If you run into an issue, or if you find a workaround for an existing issue, we would very much appreciate it if you could post your question or code as a GitHub issue.

Contributions

If you would like to help contribute to profet, please read our contribution guide and code of conduct.

About

Protein structure Fetcher

Resources

Code of conduct

Contributing

Stars

6 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

profet

A Python 3 protein structure fetcher. Retrieves the cif or pdb files from either the RCSB Protein Data Bank (PDB, using pypdb) or Alphafold using the Uniprot ID.

Code style: blackPyPI version shields.ioPyPI pyversions

BuildingPublishingDocumentation

Dependencies

Please install the latest version of PyPDB using:

pip install pypdb

or

pip install git+git://github.com/williamgilpin/pypdb

Installation

For users

Install profet using pip:

pip install profet

For developers

To install the development version, which contains the latest features and fixes, install directly from GitHub using:

pip install git+git://github.com/ccpem/profet

To test the installation, you need to have pytest and pytest-cov packagages installed which can be done as follows.

pip install pytest pytest-cov

Then navigate to the root directory of the package and run

pytest

This code has been designed and tested for Python 3.

Usage

This package can be used to retrieve the available protein structure from any Uniprot ID. It can also be used to automatically delete signal peptides off the structure.

Python API Usage

The Fetcher class can search the IDs in both PDB and Alphafold, and saves the search results in a dictionary.

get_file returns the structure corresponding to uniprot_id in the defined filetype: (default as 'pdb', option as 'cif'), searching first in the defaulted database db (default as 'pdb', option as 'alphafold'). The files can be saved to a local file with filesave: the files are saved as uniprotID.<filetype>, except when the files are fetched from PDB and, in that case, are saved as uniprotID_pdbID.<filetype>.

set_default_db changes the default database into the given one between 'pdb' and 'alphafold'.

set_directory changes the directory where the files are saved. Files save as <directory>/<id>.<filetype>.

Run search_history() to see the search history of the fetcher.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P61316", filetype="pdb", filesave=True, db="alphafold")
fetcher.search_history()

returns:

{'P61316': ['pdb', 'alphafold']}

Loads profet and the file-fetcher, then specifies a directory to save the files at. Lastly, downloads the protein with uniprod ID "P61316", in pdb format from the Alphafold databank and saves it in the specified directory.

For more detailed examples consult the following Python notebook.

Signal Peptide Cleaving Usage

Once a structure is downloaded using get_file, the signal cleaving function cleave_off_signal_peptides from the Fetcher class, compares the sequence of the structure to the UniProt database for any signal peptides included in the structure. It then automatically deletes the signal peptides from the structure. The cleaved structure is saved as a separate file, with the deleted residue positions added to the filename. In the case of no signal peptides being detected, as new file named "structure-ID_None.cif/.pdb" will be saved.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P0A855", filetype="pdb", filesave=True, db="alphafold")
fetcher.cleave_off_signal_peptides("P0A855")

This will save p0a855.pdb and p0a855_cleaved_1to21.pdb to the specified directory.

Command Line Usage

The profet library also has a command line interface that mirrors the python API and which can be used to download entries from both the PDB and AlphaFold. An example of how to use the profet command line program is shown in the following code snippet.

profet 4v1w \
--filetype=pdb \
--main_db=pdb \
--save_directory="~/.pdb"

In this example, the entry "4V1W" is to be downloaded from the PDB database as a .pdb file. The file will be cached in the "~/.pdb" directory for future use.

Documentation

You can find more documentation including a description of the python api here.

Issues and Feature Requests

If you run into an issue, or if you find a workaround for an existing issue, we would very much appreciate it if you could post your question or code as a GitHub issue.

Contributions

If you would like to help contribute to profet, please read our contribution guide and code of conduct.

About

Protein structure Fetcher

Resources

Code of conduct

Contributing

Stars

6 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

profet

A Python 3 protein structure fetcher. Retrieves the cif or pdb files from either the RCSB Protein Data Bank (PDB, using pypdb) or Alphafold using the Uniprot ID.

Code style: blackPyPI version shields.ioPyPI pyversions

BuildingPublishingDocumentation

Dependencies

Please install the latest version of PyPDB using:

pip install pypdb

or

pip install git+git://github.com/williamgilpin/pypdb

Installation

For users

Install profet using pip:

pip install profet

For developers

To install the development version, which contains the latest features and fixes, install directly from GitHub using:

pip install git+git://github.com/ccpem/profet

To test the installation, you need to have pytest and pytest-cov packagages installed which can be done as follows.

pip install pytest pytest-cov

Then navigate to the root directory of the package and run

pytest

This code has been designed and tested for Python 3.

Usage

This package can be used to retrieve the available protein structure from any Uniprot ID. It can also be used to automatically delete signal peptides off the structure.

Python API Usage

The Fetcher class can search the IDs in both PDB and Alphafold, and saves the search results in a dictionary.

get_file returns the structure corresponding to uniprot_id in the defined filetype: (default as 'pdb', option as 'cif'), searching first in the defaulted database db (default as 'pdb', option as 'alphafold'). The files can be saved to a local file with filesave: the files are saved as uniprotID.<filetype>, except when the files are fetched from PDB and, in that case, are saved as uniprotID_pdbID.<filetype>.

set_default_db changes the default database into the given one between 'pdb' and 'alphafold'.

set_directory changes the directory where the files are saved. Files save as <directory>/<id>.<filetype>.

Run search_history() to see the search history of the fetcher.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P61316", filetype="pdb", filesave=True, db="alphafold")
fetcher.search_history()

returns:

{'P61316': ['pdb', 'alphafold']}

Loads profet and the file-fetcher, then specifies a directory to save the files at. Lastly, downloads the protein with uniprod ID "P61316", in pdb format from the Alphafold databank and saves it in the specified directory.

For more detailed examples consult the following Python notebook.

Signal Peptide Cleaving Usage

Once a structure is downloaded using get_file, the signal cleaving function cleave_off_signal_peptides from the Fetcher class, compares the sequence of the structure to the UniProt database for any signal peptides included in the structure. It then automatically deletes the signal peptides from the structure. The cleaved structure is saved as a separate file, with the deleted residue positions added to the filename. In the case of no signal peptides being detected, as new file named "structure-ID_None.cif/.pdb" will be saved.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P0A855", filetype="pdb", filesave=True, db="alphafold")
fetcher.cleave_off_signal_peptides("P0A855")

This will save p0a855.pdb and p0a855_cleaved_1to21.pdb to the specified directory.

Command Line Usage

The profet library also has a command line interface that mirrors the python API and which can be used to download entries from both the PDB and AlphaFold. An example of how to use the profet command line program is shown in the following code snippet.

profet 4v1w \
--filetype=pdb \
--main_db=pdb \
--save_directory="~/.pdb"

In this example, the entry "4V1W" is to be downloaded from the PDB database as a .pdb file. The file will be cached in the "~/.pdb" directory for future use.

Documentation

You can find more documentation including a description of the python api here.

Issues and Feature Requests

If you run into an issue, or if you find a workaround for an existing issue, we would very much appreciate it if you could post your question or code as a GitHub issue.

Contributions

If you would like to help contribute to profet, please read our contribution guide and code of conduct.

About

Protein structure Fetcher

Resources

Code of conduct

Contributing

Stars

6 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

profet

A Python 3 protein structure fetcher. Retrieves the cif or pdb files from either the RCSB Protein Data Bank (PDB, using pypdb) or Alphafold using the Uniprot ID.

Code style: blackPyPI version shields.ioPyPI pyversions

BuildingPublishingDocumentation

Dependencies

Please install the latest version of PyPDB using:

pip install pypdb

or

pip install git+git://github.com/williamgilpin/pypdb

Installation

For users

Install profet using pip:

pip install profet

For developers

To install the development version, which contains the latest features and fixes, install directly from GitHub using:

pip install git+git://github.com/ccpem/profet

To test the installation, you need to have pytest and pytest-cov packagages installed which can be done as follows.

pip install pytest pytest-cov

Then navigate to the root directory of the package and run

pytest

This code has been designed and tested for Python 3.

Usage

This package can be used to retrieve the available protein structure from any Uniprot ID. It can also be used to automatically delete signal peptides off the structure.

Python API Usage

The Fetcher class can search the IDs in both PDB and Alphafold, and saves the search results in a dictionary.

get_file returns the structure corresponding to uniprot_id in the defined filetype: (default as 'pdb', option as 'cif'), searching first in the defaulted database db (default as 'pdb', option as 'alphafold'). The files can be saved to a local file with filesave: the files are saved as uniprotID.<filetype>, except when the files are fetched from PDB and, in that case, are saved as uniprotID_pdbID.<filetype>.

set_default_db changes the default database into the given one between 'pdb' and 'alphafold'.

set_directory changes the directory where the files are saved. Files save as <directory>/<id>.<filetype>.

Run search_history() to see the search history of the fetcher.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P61316", filetype="pdb", filesave=True, db="alphafold")
fetcher.search_history()

returns:

{'P61316': ['pdb', 'alphafold']}

Loads profet and the file-fetcher, then specifies a directory to save the files at. Lastly, downloads the protein with uniprod ID "P61316", in pdb format from the Alphafold databank and saves it in the specified directory.

For more detailed examples consult the following Python notebook.

Signal Peptide Cleaving Usage

Once a structure is downloaded using get_file, the signal cleaving function cleave_off_signal_peptides from the Fetcher class, compares the sequence of the structure to the UniProt database for any signal peptides included in the structure. It then automatically deletes the signal peptides from the structure. The cleaved structure is saved as a separate file, with the deleted residue positions added to the filename. In the case of no signal peptides being detected, as new file named "structure-ID_None.cif/.pdb" will be saved.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P0A855", filetype="pdb", filesave=True, db="alphafold")
fetcher.cleave_off_signal_peptides("P0A855")

This will save p0a855.pdb and p0a855_cleaved_1to21.pdb to the specified directory.

Command Line Usage

The profet library also has a command line interface that mirrors the python API and which can be used to download entries from both the PDB and AlphaFold. An example of how to use the profet command line program is shown in the following code snippet.

profet 4v1w \
--filetype=pdb \
--main_db=pdb \
--save_directory="~/.pdb"

In this example, the entry "4V1W" is to be downloaded from the PDB database as a .pdb file. The file will be cached in the "~/.pdb" directory for future use.

Documentation

You can find more documentation including a description of the python api here.

Issues and Feature Requests

If you run into an issue, or if you find a workaround for an existing issue, we would very much appreciate it if you could post your question or code as a GitHub issue.

Contributions

If you would like to help contribute to profet, please read our contribution guide and code of conduct.

About

Protein structure Fetcher

Resources

Code of conduct

Contributing

Stars

6 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

profet

A Python 3 protein structure fetcher. Retrieves the cif or pdb files from either the RCSB Protein Data Bank (PDB, using pypdb) or Alphafold using the Uniprot ID.

Code style: blackPyPI version shields.ioPyPI pyversions

BuildingPublishingDocumentation

Dependencies

Please install the latest version of PyPDB using:

pip install pypdb

or

pip install git+git://github.com/williamgilpin/pypdb

Installation

For users

Install profet using pip:

pip install profet

For developers

To install the development version, which contains the latest features and fixes, install directly from GitHub using:

pip install git+git://github.com/ccpem/profet

To test the installation, you need to have pytest and pytest-cov packagages installed which can be done as follows.

pip install pytest pytest-cov

Then navigate to the root directory of the package and run

pytest

This code has been designed and tested for Python 3.

Usage

This package can be used to retrieve the available protein structure from any Uniprot ID. It can also be used to automatically delete signal peptides off the structure.

Python API Usage

The Fetcher class can search the IDs in both PDB and Alphafold, and saves the search results in a dictionary.

get_file returns the structure corresponding to uniprot_id in the defined filetype: (default as 'pdb', option as 'cif'), searching first in the defaulted database db (default as 'pdb', option as 'alphafold'). The files can be saved to a local file with filesave: the files are saved as uniprotID.<filetype>, except when the files are fetched from PDB and, in that case, are saved as uniprotID_pdbID.<filetype>.

set_default_db changes the default database into the given one between 'pdb' and 'alphafold'.

set_directory changes the directory where the files are saved. Files save as <directory>/<id>.<filetype>.

Run search_history() to see the search history of the fetcher.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P61316", filetype="pdb", filesave=True, db="alphafold")
fetcher.search_history()

returns:

{'P61316': ['pdb', 'alphafold']}

Loads profet and the file-fetcher, then specifies a directory to save the files at. Lastly, downloads the protein with uniprod ID "P61316", in pdb format from the Alphafold databank and saves it in the specified directory.

For more detailed examples consult the following Python notebook.

Signal Peptide Cleaving Usage

Once a structure is downloaded using get_file, the signal cleaving function cleave_off_signal_peptides from the Fetcher class, compares the sequence of the structure to the UniProt database for any signal peptides included in the structure. It then automatically deletes the signal peptides from the structure. The cleaved structure is saved as a separate file, with the deleted residue positions added to the filename. In the case of no signal peptides being detected, as new file named "structure-ID_None.cif/.pdb" will be saved.

Example:

importprofetaspffetcher=pf.Fetcher()
fetcher.set_directory("/path/to/directory/folder")
fetcher.get_file(uniprot_id="P0A855", filetype="pdb", filesave=True, db="alphafold")
fetcher.cleave_off_signal_peptides("P0A855")

This will save p0a855.pdb and p0a855_cleaved_1to21.pdb to the specified directory.

Command Line Usage

The profet library also has a command line interface that mirrors the python API and which can be used to download entries from both the PDB and AlphaFold. An example of how to use the profet command line program is shown in the following code snippet.

profet 4v1w \
--filetype=pdb \
--main_db=pdb \
--save_directory="~/.pdb"

In this example, the entry "4V1W" is to be downloaded from the PDB database as a .pdb file. The file will be cached in the "~/.pdb" directory for future use.

Documentation

You can find more documentation including a description of the python api here.

Issues and Feature Requests

If you run into an issue, or if you find a workaround for an existing issue, we would very much appreciate it if you could post your question or code as a GitHub issue.

Contributions

If you would like to help contribute to profet, please read our contribution guide and code of conduct.

About

Protein structure Fetcher

Resources

Code of conduct

Contributing

Stars

6 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages