Giter Site home page Giter Site logo

protein_synthesizer's Introduction

protein_synthesizer

Takes in DNA sequences and outputs proteins using transcription and translation. Effort was made to sythesize similarly to how biology functions as opposed to following the shortest route.

DNA sequences are exptected to be inputted from the stdin in the form of non-delimited, capitalized nucleotides (A, C, T, or G). They are read following the executable with each additional argument corresponding to another sequence. Proteins are outputted to the stdout in the form of dash-delimited amino acids.

Appropriate errors are thrown if:

  • There is no input.
  • A strand does not have a start or stop codon.
  • There are any input characters other than 'A', 'T', 'C', or 'G'. If multiple sequences are given, the other sequences will still give outputs.

Transcription: Each DNA strand will be scanned until a sequence generating an mRNA start codon (AUG) is found. At this point, an mRNA strand (built as a linked list) is formed. New elements are added until an mRNA stop codon (UAG, UAA, or UGA) is formed.

Translation: Each codon in the mRNA strand is then paired with the corresponding anticodon of a tRNA molecule. This tRNA molecule then places its corresponding amino acid in the growing polypeptide chain, which is linked together as each consecutive tRNA molecule adds to it. This process stops when the mRNA strand ends.


To run:

  1. Clone/Download this repository.

  2. Open the cloned file with your terminal.

  3. Type the command "make" and hit enter. I used a makefile for this project to aid in compilation and cleanup.

  4. Type "./protein_synthesizer " and the DNA strand you want analyzed. You may also type "sh testing.sh" to run a number of simple tests.

protein_synthesizer's People

Contributors

reallocf avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

af-inet

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.