Team:AMU-Poznan/Project
From 2014.igem.org
Revision as of 20:03, 16 October 2014 by Szeherezadess (Talk | contribs)
sh-miR Designer v2.0Sh-miR designer is a project we started during iGEM 2013. This year we would like to continue and expand functionality of the software. sh-miR designer v1.0 (link) is aimed to create sh-miR molecules based on siRNAs provided by the user. In sh-miR designer v2.0 only the mRNA number (from NCBI database), which expression should be decreased can be provided. Moreover, we expanded functionality of the software with off-target validation and check of immune motifs and also extended miRNA-shuttles database. sh-miR Designer is a software aimed for fast and efficient design of effective RNA interference (RNAi) reagents - sh-miRs, also known as artificial miRNAs. sh-miRs are RNA particles whose structure is based on miRNA precursor pri-miRNA, but sequence interacting with transcript is changed depending on research purpose. Maintenance of structure of pri-miRNA is very important to enable cellular processing and therefore ensure functionality of artificial particles. sh-miRs delivered to cells on genetic vectors - plasmids or viral vectors - enter natural RNAi pathway and silence target mRNA. They can be used in genetic therapies and basic biomedical research. We will provide two applications to access the software, one which require siRNA sequences and the second which require transcript accession number from NCBI database. Each user will receive an account with login (e-mail) and password where he/she would be able to check history of software usage.input form: ![]() ![]() Standard PartsWe are creating a particle which can be inserted into plasmid built by Standard parts from Registry of Standard Biological Parts.![]() User GuideUsage via Web server
go to our website shmir.wmi.amu.edu.pl
Introduction videoTechnology
The application was built with Python 2.7. It is divided into 3 parts:
RESTful API - the “heart” of our software - it performs all calculations. Our application is built on CentOS (Linux) operating system. To maintain better compatibility with our server we use Vagrant to create Virtual Machine and Puppet to manage infrastructure of our project. All you need to do is: type into console “vagrant up” and after a while everything is ready to work. This subproject is written with following technologies/frameworks/libraries: Flask, Flask-Cache, SqlAlchemy, PostgreSQL, Celery, Flower, Rabbitmq, Redis, BioPython, mfold (lightweight), uwsgi, sphinx, Python testing tools (mock, nose, unittest).
Console client - simple console application which communicates with API using requests library. It has 3 options: mfold (folding structure), from_sirna (create sh-miR from siRNA) and from_transcript (create sh-miR from transcript name).
Website - application written in Django framework. It enables you to use the API via graphical interface. You can also create your own account and save the history of your requests for later usage.
API documentationHere you can find api documentation from code (docstrings): link unavailable yetAPI for developersHere you can find api for developers: https://github.com/Nozdi/shmirReleases (re-use of 2013iGEM software)sh-miR designer v1.0First version of the program presented on iGEM 2013 by our team. The user have to provide siRNA sequence (one or both strands). The miRNA database includes 5 miRNAs.sh-miR designer v1.1Strand discrimination functionality was added based on miRbase. extended miRNA databasesh-miR designer v2.0siRNA prediction algorithm was added to functionality (the input is NCBI transcript number) user can choose GC content of siRNA molecule, maximal off-target, if he/she wants immunostimulatory sequences inside the molecule and to choose if he/she wants to include all or chosen scaffold extended miRNA database What we are working on: strand discrimination based on therodynamics of siRNA ends; preparing construct with flanking restriction enzymes providing plasmids with parts from standard partsUnit TestsIn our application we are using unit tests to test alghoritms, functions and database. We are testing inputs and outputs: def test_validate_gc_content(self): is_in_range = validate_gc_content('ACGT', 40, 60) self.assertTrue(is_in_range) Caught errors: def multiple_input(self, data, error): for strand in data: with self.assertRaises(errors.InputException) as err: validators.check_input(strand) self.assertEqual(error, str(err.exception)) Database models: def test_get_and_put_to_db(self): new_obj = self.TestModel(id=153) self.put_to_db(new_obj) objs = self.get_all(self.TestModel) self.assertEqual(len(objs), 1) We are using Mock library to test our functions which are using external API’s to create fake response from server and return them into our function: @patch.object(ncbi_api.Entrez, 'esearch') @patch.object(ncbi_api.Entrez, 'efetch') def test_get_data(self, mock_efetch, mock_esearch): ids = [69] mock_read = Mock() mock_read.read.return_value = json.dumps({'esearchresult': {'idlist': ids}}) mock_esearch.return_value = mock_read ncbi_api.get_data(self.GOOD_MRNA) mock_esearch.assert_called_with( term='NM_001128164.1', db=self.DATA_BASE, retmode='json' ) mock_efetch.assert_called_once_with( db=self.DATA_BASE, id=ids, rettype='fasta', retmode='text' ) Validationold version shmiR v1.0 (average time)real 0m6.854s user 0m0.063s sys 0m0.027snew version shmiR v1.1 (average times)real 0m3.271s user 0m0.155s sys 0m0.041sTest cases1) ATXN3 - therapeutic sh-miR against SCA3 disease transcript number: NM_001164782.1 GC content: default Off-target: 10 scaffold: ALL immunostimulatory: NO 2) P54 - therapeutic sh-miR against cancer transcript number: NM_000546.5 GC content: default Off-target: 10 scaffold: ALL immunostimulatory: YES 3) biological function analysis, PARP1, we have miR-30a in our lab transcript number: NM_001618.3 GC content: default Off-target: 0 scaffold: miR-30a immunostimulatory: no_difference (default) 4) biological function, PARP1, we have miR-30a in our laboratory and have immune cells transcript number: NM_001618.3 GC content: default Off-target: 0 scaffold: miR-30a immunostimulatory: NO 5) biological function, PARP1 and have immune cells transcript number: NM_001618.3 GC content: default Off-target: 0 scaffold: ALL immunostimulatory: NOReferences
1. Boudreau RL, Monteys AM, Davidson BL. Minimizing variables among hairpin-based RNAi
vectors reveals the potency of shRNAs. RNA. 2008 Sep;14(9):1834-44. Epub 2008 Aug 12.
2. Chang K, Elledge SJ, Hannon GJ. Lessons from Nature: microRNA-based shRNA libraries. Nat
Methods. 2006 Sep;3(9):707-14.
3. Dow LE, Premsrirut PK, Zuber J, Fellmann C, McJunkin K, Miething C, Park Y, Dickins RA,
Hannon GJ, Lowe SW. A pipeline for the generation of shRNA transgenic mice. Nat Protoc.
2012 Feb 2;7(2):374-93. doi: 10.1038/nprot.2011.446.
4. Fahim M, Larkin PJ. Designing Effective amiRNA and Multimeric amiRNA Against Plant
Viruses. Methods Mol Biol. 2013;942:357-77. doi: 10.1007/978-1-62703-119-6_19.
5. Fan ZD, Zhang L, Shi Z, Gan XB, Gao XY, Zhu GQ. Artificial microRNA interference targeting
AT(1a) receptors in paraventricular nucleus attenuates hypertension in rats. Gene Ther. 2012
Aug;19(8):810-7. doi: 10.1038/gt.2011.145. Epub 2011 Sep 29.
6. Fellmann C, Zuber J, McJunkin K, Chang K, Malone CD, Dickins RA, Xu Q, Hengartner MO,
Elledge SJ, Hannon GJ, Lowe SW. Functional identification of optimized RNAi triggers using a
massively parallel sensor assay. Mol Cell. 2011 Mar 18;41(6):733-46. Epub 2011 Feb 25.
7. Maczuga P, Lubelski J, van Logtenstein R, Borel F, Blits B, Fakkert E, Costessi A, Butler D, van
Deventer S, Petry H, Koornneef A, Konstantinova P. Embedding siRNA sequences targeting
Apolipoprotein B100 in shRNA and miRNA scaffolds results in differential processing and in
vivo efficacy. Mol Ther. 2012 Oct 23. doi: 10.1038/mt.2012.160. [Epub ahead of print]
8. Maczuga P, Koornneef A, Borel F, Petry H, van Deventer S, Ritsema T, Konstantinova P.
Optimization and comparison of knockdown efficacy between polymerase II expressed
shRNA and artificial miRNA targeting luciferase and Apolipoprotein B100. BMC
Biotechnol. 2012 Jul 24;12:42. doi: 10.1186/1472-6750-12-42.
9. Matveeva OV, Nazipova NN, Ogurtsov AY, Shabalina SA. Optimized models for design of
efficient miR30-based shRNAs. Front Genet. 2012;3:163. Epub 2012 Aug 29.
10. McBride JL, Boudreau RL, Harper SQ, Staber PD, Monteys AM, Martins I, Gilmore BL, Burstein
H, Peluso RW, Polisky B, Carter BJ, Davidson BL. Artificial miRNAs mitigate shRNA-mediated
toxicity in the brain: implications for the therapeutic development of RNAi. Proc Natl Acad Sci
U S A. 2008 Apr 15;105(15):5868-73. Epub 2008 Apr 8.
11. Schwab R, Ossowski S, Warthmann N, Weigel D. Directed gene silencing with artificial
microRNAs. Methods Mol Biol. 2010;592:71-88.
12. Silva JM, Li MZ, Chang K, Ge W, Golding MC, Rickles RJ, Siolas D, Hu G, Paddison PJ, Schlabach
MR, Sheth N, Bradshaw J, Burchard J, Kulkarni A, Cavet G,Sachidanandam R, McCombie WR, Cleary MA, Elledge SJ, Hannon GJ. Second-generation shRNA libraries
covering the mouse and human genomes. Nat Genet. 2005 Nov;37(11):1281-8. Epub 2005
Oct 2.
13. Stegmeier F, Hu G, Rickles RJ, Hannon GJ, Elledge SJ. A lentiviral microRNA-based system for
single-copy polymerase II-regulated RNA interference in mammalian cells. Proc Natl Acad Sci
U S A. 2005 Sep 13;102(37):13212-7. Epub 2005 Sep 1.
14. Wang X, Yang Y, Zhou J, Yu C, Cheng Y, Yan C, Chen J.Two-step method for constructing
Arabidopsis artificial microRNA vectors. Biotechnol Lett. 2012 Jul;34(7):1343-9. Epub 2012
Mar 22.
15. Warthmann N, Ossowski S, Schwab R, Weigel D. Artificial MicroRNAs for Specific Gene
Silencing in Rice. Methods Mol Biol. 2013;956:131-49. doi: 10.1007/978-1-62703-194-3_11.
16. Zeng Y, Cullen BR. Efficient processing of primary microRNA hairpins by Drosha requires
flanking nonstructured RNA sequences. J Biol Chem. 2005 Jul 29;280(30):27595-603. Epub
2005 Jun 1.
17. Zeng Y, Wagner EJ, Cullen BR. Both natural and designed micro RNAs can inhibit the
expression of cognate mRNAs when expressed in human cells. Mol Cell. 2002 Jun;9(6):1327-
33
Judging Form (in bold what we did to achieve gold medal)Bronze. The following 4 goals must be achieved:
|