Giter VIP home page Giter VIP logo

python-programming-ii's Introduction

Python Programming II logo

Purpose: To test your fundamental Python package development skills.

Pre-requisites: Required: Python Programming I

Instructions

The following instructions describe the requirements to complete this task and earn the Python Programming II badge ๐Ÿ†. They also provide guidance to help you along the way.

A few things to keep in mind:

  1. Please remember at all times to abide by the BRN Code of Conduct and Academic Honesty Policy. If you notice violations of these policies, please contact [email protected].
  2. Please remember to reach out if you get stuck, find bugs, or even just have a question!

Good luck and have fun! ๐Ÿ˜Š

~ BRN Bot ๐Ÿค–

Requirements

Badge Requirements:

Testing environment:

Assessment Premise:

TLDR; Take the functions from Python Programming I and turn them into a package called "bioutils"

After you completed the tasks your supervisor gave you in Python Programming I, you get a call from HR. Apparently, your functions were so useful that you have been promoted from a Bioinformatics Assistant to Bioinformatics Associate ๐Ÿš€. Your first task will be to turn your utils.py script into a package, bioutils, for the whole bioinformatics team to use ๐ŸŽฏ. The package should contain all the functions you wrote in utils.py, but properly formatted as a package and well-documented. This will enable your colleagues to easily install your package and use the functions contained within!

Users will use your package like so:

import bioutils as bu

cancer = "ATCGCATACGA"
normal = "ATCCCAGATGA"

bu.protein_variant(cancer, normal)

Automated testing / checking

Prior to releasing the package, your new supervisor will make sure that everything works correctly and that it is well-formatted. She will deploy a bot to run automated checks on your package -- they should produce no errors or warnings.

Automated checks

The bot will initiate an Python v3.10.4 session and install bioutils package by running:

pip install .

Then it will test the package by running:

pytest

Next, it will check the style of the package using flake8 from the linux command line:

flake8 .

Note: You do not need to write any unit tests as these have already been created for you in the tests/ folder.

Guidance

Most guidance for this assessment is identical to Python Programming I.

Additional resources

To learn about building and documenting Python packages, visit the following link: Python Packages Tutorial

Additional resources:

  1. Free code camp
  2. The joy of packaging
  3. Youtube tutorial

Getting help

If you find a bug or get confused, please don't hesitate to contact the BRN Skill Assessment maintainers on the #help-skill-assessments Slack channel, and they will assist you.

python-programming-ii's People

Contributors

millerh1 avatar

Stargazers

Johon Li Tuobang ๆŽๆ‹“้‚ฆ avatar

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.