Repository files navigation

BioPython/scikit-bio tutorial (EuroSciPy 2018)

Binder

Welcome to the BioPython/scikit-bio tutorial for EuroSciPy 2018 (Trento, Italy)! Here you'll find setup instructions, the tutorial materials, and much more.

The material is geared towards people with a beginner-to-intermediate Python background (if you can write a for-loop, a function, know what lists/dictionaries/... are, you should be fine). You don't need a background in bio-informatics (in fact, I don't have one): we will develop the required concepts as needed.

If you have any questions, are getting stuck somewhere, or if you find any errors, please open an issue. If you are at the conference, don't hesitate to ask me directly. Suggestions for future topics are very welcome, as is any help with the dev-opsy part of things. In particular, the tutorial was not tested on Windows.

Note that the tutorial is Python 3.

Getting set up

The tutorial is presented as a series of Jupyter notebooks that explore various pieces of BioPython and scikit-bio. The bulk of the material requires only those 3 packages, so if you have a Python 3 environment with Jupyter/BioPython/scikit-bio, you can use that. Some of the visualization apps require additional packages, those are detailed below.

If you use either EDM or Conda, you can use a pre-packaged environment. Both package managers have most or all of the packages that you need.

Installing with EDM

  1. Download EDM and install the package. If you are on mac OS and use the Homebrew package manager, this is as easy as doing brew cask install edm.
  2. Run edm configure and answer "no" to the question asked (unless you have an Enthought account)
  3. Open the .edm.yaml file in your home directory and add the enthought/euroscipy-tutorial repository. A sample of how this file is supposed to look can be found here.
  4. Run the following commands
edm envs create --force bio-tutorial --version 3.6
edm install -e bio-tutorial -y biopython scikit_bio jupyter reportlab pillow mafft
edm run -e bio-tutorial pip install nglview
jupyter-nbextension enable nglview --py --sys-prefix

This should give you a Python 3.6 environment called bio-tutorial. You can then activate this environment with edm shell -e bio-tutorial.

Installing with Conda

This repo comes with an environment.yml file that you can use if you have the conda package manager installed. From the root of the repo, run conda env create -f environment.yml to create the bio-tutorial environment. Then, activate the environment with activate bio-tutorial (Windows) or source activate bio-tutorial (mac OS/Linux).

This environment will install the nglview Jupyter extension, but despite this I could not get the extension to work. I'd be interested in hearing from others how this worked out.

Installing with pip

As mentioned before, you can also use pip to install the requirements. Starting from a Python 3 environment, run pip install biopython scikit_bio jupyter reportlab pillow.

This will mostly work, except that chapter 3 requires the MAFFT multiple aligner. This is a 3-rd party utility; see the web page for download and installation instructions. After compiling, make sure the mafft binary is on your path.

Credits

During the making of this tutorial, I relied heavily on the Bioinformatics with Python Cookbook by Tiago Antao. This book goes into much more depth than what we cover here.

BioPython comes with a very extensive tutorial and scikit-bio comes with a set of cookbooks.

About

BioPython/scikit-bio tutorial for EuroSciPy 2018

Resources

Stars

13 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
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;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} 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

BioPython/scikit-bio tutorial (EuroSciPy 2018)

Binder

Welcome to the BioPython/scikit-bio tutorial for EuroSciPy 2018 (Trento, Italy)! Here you'll find setup instructions, the tutorial materials, and much more.

The material is geared towards people with a beginner-to-intermediate Python background (if you can write a for-loop, a function, know what lists/dictionaries/... are, you should be fine). You don't need a background in bio-informatics (in fact, I don't have one): we will develop the required concepts as needed.

If you have any questions, are getting stuck somewhere, or if you find any errors, please open an issue. If you are at the conference, don't hesitate to ask me directly. Suggestions for future topics are very welcome, as is any help with the dev-opsy part of things. In particular, the tutorial was not tested on Windows.

Note that the tutorial is Python 3.

Getting set up

The tutorial is presented as a series of Jupyter notebooks that explore various pieces of BioPython and scikit-bio. The bulk of the material requires only those 3 packages, so if you have a Python 3 environment with Jupyter/BioPython/scikit-bio, you can use that. Some of the visualization apps require additional packages, those are detailed below.

If you use either EDM or Conda, you can use a pre-packaged environment. Both package managers have most or all of the packages that you need.

Installing with EDM

  1. Download EDM and install the package. If you are on mac OS and use the Homebrew package manager, this is as easy as doing brew cask install edm.
  2. Run edm configure and answer "no" to the question asked (unless you have an Enthought account)
  3. Open the .edm.yaml file in your home directory and add the enthought/euroscipy-tutorial repository. A sample of how this file is supposed to look can be found here.
  4. Run the following commands
edm envs create --force bio-tutorial --version 3.6
edm install -e bio-tutorial -y biopython scikit_bio jupyter reportlab pillow mafft
edm run -e bio-tutorial pip install nglview
jupyter-nbextension enable nglview --py --sys-prefix

This should give you a Python 3.6 environment called bio-tutorial. You can then activate this environment with edm shell -e bio-tutorial.

Installing with Conda

This repo comes with an environment.yml file that you can use if you have the conda package manager installed. From the root of the repo, run conda env create -f environment.yml to create the bio-tutorial environment. Then, activate the environment with activate bio-tutorial (Windows) or source activate bio-tutorial (mac OS/Linux).

This environment will install the nglview Jupyter extension, but despite this I could not get the extension to work. I'd be interested in hearing from others how this worked out.

Installing with pip

As mentioned before, you can also use pip to install the requirements. Starting from a Python 3 environment, run pip install biopython scikit_bio jupyter reportlab pillow.

This will mostly work, except that chapter 3 requires the MAFFT multiple aligner. This is a 3-rd party utility; see the web page for download and installation instructions. After compiling, make sure the mafft binary is on your path.

Credits

During the making of this tutorial, I relied heavily on the Bioinformatics with Python Cookbook by Tiago Antao. This book goes into much more depth than what we cover here.

BioPython comes with a very extensive tutorial and scikit-bio comes with a set of cookbooks.

About

BioPython/scikit-bio tutorial for EuroSciPy 2018

Resources

Stars

13 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } 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

BioPython/scikit-bio tutorial (EuroSciPy 2018)

Binder

Welcome to the BioPython/scikit-bio tutorial for EuroSciPy 2018 (Trento, Italy)! Here you'll find setup instructions, the tutorial materials, and much more.

The material is geared towards people with a beginner-to-intermediate Python background (if you can write a for-loop, a function, know what lists/dictionaries/... are, you should be fine). You don't need a background in bio-informatics (in fact, I don't have one): we will develop the required concepts as needed.

If you have any questions, are getting stuck somewhere, or if you find any errors, please open an issue. If you are at the conference, don't hesitate to ask me directly. Suggestions for future topics are very welcome, as is any help with the dev-opsy part of things. In particular, the tutorial was not tested on Windows.

Note that the tutorial is Python 3.

Getting set up

The tutorial is presented as a series of Jupyter notebooks that explore various pieces of BioPython and scikit-bio. The bulk of the material requires only those 3 packages, so if you have a Python 3 environment with Jupyter/BioPython/scikit-bio, you can use that. Some of the visualization apps require additional packages, those are detailed below.

If you use either EDM or Conda, you can use a pre-packaged environment. Both package managers have most or all of the packages that you need.

Installing with EDM

  1. Download EDM and install the package. If you are on mac OS and use the Homebrew package manager, this is as easy as doing brew cask install edm.
  2. Run edm configure and answer "no" to the question asked (unless you have an Enthought account)
  3. Open the .edm.yaml file in your home directory and add the enthought/euroscipy-tutorial repository. A sample of how this file is supposed to look can be found here.
  4. Run the following commands
edm envs create --force bio-tutorial --version 3.6
edm install -e bio-tutorial -y biopython scikit_bio jupyter reportlab pillow mafft
edm run -e bio-tutorial pip install nglview
jupyter-nbextension enable nglview --py --sys-prefix

This should give you a Python 3.6 environment called bio-tutorial. You can then activate this environment with edm shell -e bio-tutorial.

Installing with Conda

This repo comes with an environment.yml file that you can use if you have the conda package manager installed. From the root of the repo, run conda env create -f environment.yml to create the bio-tutorial environment. Then, activate the environment with activate bio-tutorial (Windows) or source activate bio-tutorial (mac OS/Linux).

This environment will install the nglview Jupyter extension, but despite this I could not get the extension to work. I'd be interested in hearing from others how this worked out.

Installing with pip

As mentioned before, you can also use pip to install the requirements. Starting from a Python 3 environment, run pip install biopython scikit_bio jupyter reportlab pillow.

This will mostly work, except that chapter 3 requires the MAFFT multiple aligner. This is a 3-rd party utility; see the web page for download and installation instructions. After compiling, make sure the mafft binary is on your path.

Credits

During the making of this tutorial, I relied heavily on the Bioinformatics with Python Cookbook by Tiago Antao. This book goes into much more depth than what we cover here.

BioPython comes with a very extensive tutorial and scikit-bio comes with a set of cookbooks.

About

BioPython/scikit-bio tutorial for EuroSciPy 2018

Resources

Stars

13 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

BioPython/scikit-bio tutorial (EuroSciPy 2018)

Binder

Welcome to the BioPython/scikit-bio tutorial for EuroSciPy 2018 (Trento, Italy)! Here you'll find setup instructions, the tutorial materials, and much more.

The material is geared towards people with a beginner-to-intermediate Python background (if you can write a for-loop, a function, know what lists/dictionaries/... are, you should be fine). You don't need a background in bio-informatics (in fact, I don't have one): we will develop the required concepts as needed.

If you have any questions, are getting stuck somewhere, or if you find any errors, please open an issue. If you are at the conference, don't hesitate to ask me directly. Suggestions for future topics are very welcome, as is any help with the dev-opsy part of things. In particular, the tutorial was not tested on Windows.

Note that the tutorial is Python 3.

Getting set up

The tutorial is presented as a series of Jupyter notebooks that explore various pieces of BioPython and scikit-bio. The bulk of the material requires only those 3 packages, so if you have a Python 3 environment with Jupyter/BioPython/scikit-bio, you can use that. Some of the visualization apps require additional packages, those are detailed below.

If you use either EDM or Conda, you can use a pre-packaged environment. Both package managers have most or all of the packages that you need.

Installing with EDM

  1. Download EDM and install the package. If you are on mac OS and use the Homebrew package manager, this is as easy as doing brew cask install edm.
  2. Run edm configure and answer "no" to the question asked (unless you have an Enthought account)
  3. Open the .edm.yaml file in your home directory and add the enthought/euroscipy-tutorial repository. A sample of how this file is supposed to look can be found here.
  4. Run the following commands
edm envs create --force bio-tutorial --version 3.6
edm install -e bio-tutorial -y biopython scikit_bio jupyter reportlab pillow mafft
edm run -e bio-tutorial pip install nglview
jupyter-nbextension enable nglview --py --sys-prefix

This should give you a Python 3.6 environment called bio-tutorial. You can then activate this environment with edm shell -e bio-tutorial.

Installing with Conda

This repo comes with an environment.yml file that you can use if you have the conda package manager installed. From the root of the repo, run conda env create -f environment.yml to create the bio-tutorial environment. Then, activate the environment with activate bio-tutorial (Windows) or source activate bio-tutorial (mac OS/Linux).

This environment will install the nglview Jupyter extension, but despite this I could not get the extension to work. I'd be interested in hearing from others how this worked out.

Installing with pip

As mentioned before, you can also use pip to install the requirements. Starting from a Python 3 environment, run pip install biopython scikit_bio jupyter reportlab pillow.

This will mostly work, except that chapter 3 requires the MAFFT multiple aligner. This is a 3-rd party utility; see the web page for download and installation instructions. After compiling, make sure the mafft binary is on your path.

Credits

During the making of this tutorial, I relied heavily on the Bioinformatics with Python Cookbook by Tiago Antao. This book goes into much more depth than what we cover here.

BioPython comes with a very extensive tutorial and scikit-bio comes with a set of cookbooks.

About

BioPython/scikit-bio tutorial for EuroSciPy 2018

Resources

Stars

13 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } 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

BioPython/scikit-bio tutorial (EuroSciPy 2018)

Binder

Welcome to the BioPython/scikit-bio tutorial for EuroSciPy 2018 (Trento, Italy)! Here you'll find setup instructions, the tutorial materials, and much more.

The material is geared towards people with a beginner-to-intermediate Python background (if you can write a for-loop, a function, know what lists/dictionaries/... are, you should be fine). You don't need a background in bio-informatics (in fact, I don't have one): we will develop the required concepts as needed.

If you have any questions, are getting stuck somewhere, or if you find any errors, please open an issue. If you are at the conference, don't hesitate to ask me directly. Suggestions for future topics are very welcome, as is any help with the dev-opsy part of things. In particular, the tutorial was not tested on Windows.

Note that the tutorial is Python 3.

Getting set up

The tutorial is presented as a series of Jupyter notebooks that explore various pieces of BioPython and scikit-bio. The bulk of the material requires only those 3 packages, so if you have a Python 3 environment with Jupyter/BioPython/scikit-bio, you can use that. Some of the visualization apps require additional packages, those are detailed below.

If you use either EDM or Conda, you can use a pre-packaged environment. Both package managers have most or all of the packages that you need.

Installing with EDM

  1. Download EDM and install the package. If you are on mac OS and use the Homebrew package manager, this is as easy as doing brew cask install edm.
  2. Run edm configure and answer "no" to the question asked (unless you have an Enthought account)
  3. Open the .edm.yaml file in your home directory and add the enthought/euroscipy-tutorial repository. A sample of how this file is supposed to look can be found here.
  4. Run the following commands
edm envs create --force bio-tutorial --version 3.6
edm install -e bio-tutorial -y biopython scikit_bio jupyter reportlab pillow mafft
edm run -e bio-tutorial pip install nglview
jupyter-nbextension enable nglview --py --sys-prefix

This should give you a Python 3.6 environment called bio-tutorial. You can then activate this environment with edm shell -e bio-tutorial.

Installing with Conda

This repo comes with an environment.yml file that you can use if you have the conda package manager installed. From the root of the repo, run conda env create -f environment.yml to create the bio-tutorial environment. Then, activate the environment with activate bio-tutorial (Windows) or source activate bio-tutorial (mac OS/Linux).

This environment will install the nglview Jupyter extension, but despite this I could not get the extension to work. I'd be interested in hearing from others how this worked out.

Installing with pip

As mentioned before, you can also use pip to install the requirements. Starting from a Python 3 environment, run pip install biopython scikit_bio jupyter reportlab pillow.

This will mostly work, except that chapter 3 requires the MAFFT multiple aligner. This is a 3-rd party utility; see the web page for download and installation instructions. After compiling, make sure the mafft binary is on your path.

Credits

During the making of this tutorial, I relied heavily on the Bioinformatics with Python Cookbook by Tiago Antao. This book goes into much more depth than what we cover here.

BioPython comes with a very extensive tutorial and scikit-bio comes with a set of cookbooks.

About

BioPython/scikit-bio tutorial for EuroSciPy 2018

Resources

Stars

13 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

BioPython/scikit-bio tutorial (EuroSciPy 2018)

Binder

Welcome to the BioPython/scikit-bio tutorial for EuroSciPy 2018 (Trento, Italy)! Here you'll find setup instructions, the tutorial materials, and much more.

The material is geared towards people with a beginner-to-intermediate Python background (if you can write a for-loop, a function, know what lists/dictionaries/... are, you should be fine). You don't need a background in bio-informatics (in fact, I don't have one): we will develop the required concepts as needed.

If you have any questions, are getting stuck somewhere, or if you find any errors, please open an issue. If you are at the conference, don't hesitate to ask me directly. Suggestions for future topics are very welcome, as is any help with the dev-opsy part of things. In particular, the tutorial was not tested on Windows.

Note that the tutorial is Python 3.

Getting set up

The tutorial is presented as a series of Jupyter notebooks that explore various pieces of BioPython and scikit-bio. The bulk of the material requires only those 3 packages, so if you have a Python 3 environment with Jupyter/BioPython/scikit-bio, you can use that. Some of the visualization apps require additional packages, those are detailed below.

If you use either EDM or Conda, you can use a pre-packaged environment. Both package managers have most or all of the packages that you need.

Installing with EDM

  1. Download EDM and install the package. If you are on mac OS and use the Homebrew package manager, this is as easy as doing brew cask install edm.
  2. Run edm configure and answer "no" to the question asked (unless you have an Enthought account)
  3. Open the .edm.yaml file in your home directory and add the enthought/euroscipy-tutorial repository. A sample of how this file is supposed to look can be found here.
  4. Run the following commands
edm envs create --force bio-tutorial --version 3.6
edm install -e bio-tutorial -y biopython scikit_bio jupyter reportlab pillow mafft
edm run -e bio-tutorial pip install nglview
jupyter-nbextension enable nglview --py --sys-prefix

This should give you a Python 3.6 environment called bio-tutorial. You can then activate this environment with edm shell -e bio-tutorial.

Installing with Conda

This repo comes with an environment.yml file that you can use if you have the conda package manager installed. From the root of the repo, run conda env create -f environment.yml to create the bio-tutorial environment. Then, activate the environment with activate bio-tutorial (Windows) or source activate bio-tutorial (mac OS/Linux).

This environment will install the nglview Jupyter extension, but despite this I could not get the extension to work. I'd be interested in hearing from others how this worked out.

Installing with pip

As mentioned before, you can also use pip to install the requirements. Starting from a Python 3 environment, run pip install biopython scikit_bio jupyter reportlab pillow.

This will mostly work, except that chapter 3 requires the MAFFT multiple aligner. This is a 3-rd party utility; see the web page for download and installation instructions. After compiling, make sure the mafft binary is on your path.

Credits

During the making of this tutorial, I relied heavily on the Bioinformatics with Python Cookbook by Tiago Antao. This book goes into much more depth than what we cover here.

BioPython comes with a very extensive tutorial and scikit-bio comes with a set of cookbooks.

About

BioPython/scikit-bio tutorial for EuroSciPy 2018

Resources

Stars

13 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

BioPython/scikit-bio tutorial (EuroSciPy 2018)

Binder

Welcome to the BioPython/scikit-bio tutorial for EuroSciPy 2018 (Trento, Italy)! Here you'll find setup instructions, the tutorial materials, and much more.

The material is geared towards people with a beginner-to-intermediate Python background (if you can write a for-loop, a function, know what lists/dictionaries/... are, you should be fine). You don't need a background in bio-informatics (in fact, I don't have one): we will develop the required concepts as needed.

If you have any questions, are getting stuck somewhere, or if you find any errors, please open an issue. If you are at the conference, don't hesitate to ask me directly. Suggestions for future topics are very welcome, as is any help with the dev-opsy part of things. In particular, the tutorial was not tested on Windows.

Note that the tutorial is Python 3.

Getting set up

The tutorial is presented as a series of Jupyter notebooks that explore various pieces of BioPython and scikit-bio. The bulk of the material requires only those 3 packages, so if you have a Python 3 environment with Jupyter/BioPython/scikit-bio, you can use that. Some of the visualization apps require additional packages, those are detailed below.

If you use either EDM or Conda, you can use a pre-packaged environment. Both package managers have most or all of the packages that you need.

Installing with EDM

  1. Download EDM and install the package. If you are on mac OS and use the Homebrew package manager, this is as easy as doing brew cask install edm.
  2. Run edm configure and answer "no" to the question asked (unless you have an Enthought account)
  3. Open the .edm.yaml file in your home directory and add the enthought/euroscipy-tutorial repository. A sample of how this file is supposed to look can be found here.
  4. Run the following commands
edm envs create --force bio-tutorial --version 3.6
edm install -e bio-tutorial -y biopython scikit_bio jupyter reportlab pillow mafft
edm run -e bio-tutorial pip install nglview
jupyter-nbextension enable nglview --py --sys-prefix

This should give you a Python 3.6 environment called bio-tutorial. You can then activate this environment with edm shell -e bio-tutorial.

Installing with Conda

This repo comes with an environment.yml file that you can use if you have the conda package manager installed. From the root of the repo, run conda env create -f environment.yml to create the bio-tutorial environment. Then, activate the environment with activate bio-tutorial (Windows) or source activate bio-tutorial (mac OS/Linux).

This environment will install the nglview Jupyter extension, but despite this I could not get the extension to work. I'd be interested in hearing from others how this worked out.

Installing with pip

As mentioned before, you can also use pip to install the requirements. Starting from a Python 3 environment, run pip install biopython scikit_bio jupyter reportlab pillow.

This will mostly work, except that chapter 3 requires the MAFFT multiple aligner. This is a 3-rd party utility; see the web page for download and installation instructions. After compiling, make sure the mafft binary is on your path.

Credits

During the making of this tutorial, I relied heavily on the Bioinformatics with Python Cookbook by Tiago Antao. This book goes into much more depth than what we cover here.

BioPython comes with a very extensive tutorial and scikit-bio comes with a set of cookbooks.

About

BioPython/scikit-bio tutorial for EuroSciPy 2018

Resources

Stars

13 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

BioPython/scikit-bio tutorial (EuroSciPy 2018)

Binder

Welcome to the BioPython/scikit-bio tutorial for EuroSciPy 2018 (Trento, Italy)! Here you'll find setup instructions, the tutorial materials, and much more.

The material is geared towards people with a beginner-to-intermediate Python background (if you can write a for-loop, a function, know what lists/dictionaries/... are, you should be fine). You don't need a background in bio-informatics (in fact, I don't have one): we will develop the required concepts as needed.

If you have any questions, are getting stuck somewhere, or if you find any errors, please open an issue. If you are at the conference, don't hesitate to ask me directly. Suggestions for future topics are very welcome, as is any help with the dev-opsy part of things. In particular, the tutorial was not tested on Windows.

Note that the tutorial is Python 3.

Getting set up

The tutorial is presented as a series of Jupyter notebooks that explore various pieces of BioPython and scikit-bio. The bulk of the material requires only those 3 packages, so if you have a Python 3 environment with Jupyter/BioPython/scikit-bio, you can use that. Some of the visualization apps require additional packages, those are detailed below.

If you use either EDM or Conda, you can use a pre-packaged environment. Both package managers have most or all of the packages that you need.

Installing with EDM

  1. Download EDM and install the package. If you are on mac OS and use the Homebrew package manager, this is as easy as doing brew cask install edm.
  2. Run edm configure and answer "no" to the question asked (unless you have an Enthought account)
  3. Open the .edm.yaml file in your home directory and add the enthought/euroscipy-tutorial repository. A sample of how this file is supposed to look can be found here.
  4. Run the following commands
edm envs create --force bio-tutorial --version 3.6
edm install -e bio-tutorial -y biopython scikit_bio jupyter reportlab pillow mafft
edm run -e bio-tutorial pip install nglview
jupyter-nbextension enable nglview --py --sys-prefix

This should give you a Python 3.6 environment called bio-tutorial. You can then activate this environment with edm shell -e bio-tutorial.

Installing with Conda

This repo comes with an environment.yml file that you can use if you have the conda package manager installed. From the root of the repo, run conda env create -f environment.yml to create the bio-tutorial environment. Then, activate the environment with activate bio-tutorial (Windows) or source activate bio-tutorial (mac OS/Linux).

This environment will install the nglview Jupyter extension, but despite this I could not get the extension to work. I'd be interested in hearing from others how this worked out.

Installing with pip

As mentioned before, you can also use pip to install the requirements. Starting from a Python 3 environment, run pip install biopython scikit_bio jupyter reportlab pillow.

This will mostly work, except that chapter 3 requires the MAFFT multiple aligner. This is a 3-rd party utility; see the web page for download and installation instructions. After compiling, make sure the mafft binary is on your path.

Credits

During the making of this tutorial, I relied heavily on the Bioinformatics with Python Cookbook by Tiago Antao. This book goes into much more depth than what we cover here.

BioPython comes with a very extensive tutorial and scikit-bio comes with a set of cookbooks.

About

BioPython/scikit-bio tutorial for EuroSciPy 2018

Resources

Stars

13 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages