Difference between revisions of "Team:MADRID UCM/Software"

 
(2 intermediate revisions by 2 users not shown)
Line 423: Line 423:
 
       <div class="page-main-content" id="page-main-content">
 
       <div class="page-main-content" id="page-main-content">
 
         <article class="post-5433 page type-page status-publish hentry post-no-thumbnail" id="post-5433">
 
         <article class="post-5433 page type-page status-publish hentry post-no-thumbnail" id="post-5433">
         <div class="vc_row vc_row-outer vc_row-fluid vc_container-has-overlay" data-vc-full-width="true" data-vc-full-width-init="false" data-vc-stretch-content="true" id="tm-row-5dae3b771bfb5">
+
         <div class="vc_row vc_row-outer vc_row-fluid vc_container-has-overlay" data-vc-full-width="true" data-vc-full-width-init="false" data-vc-stretch-content="true" id="tm-row-5dae424092a48">
 
           <div class="vc_container-overlay">
 
           <div class="vc_container-overlay">
 
           </div>
 
           </div>
Line 446: Line 446:
 
           </svg>
 
           </svg>
 
           </div>
 
           </div>
           <div class="wpb_column vc_column_container vc_col-sm-12" id="tm-column-5dae3b771cb8a">
+
           <div class="wpb_column vc_column_container vc_col-sm-12" id="tm-column-5dae4240935fb">
 
           <div class="vc_column-inner">
 
           <div class="vc_column-inner">
 
             <div class="wpb_wrapper">
 
             <div class="wpb_wrapper">
             <div class="tm-spacer" id="tm-spacer-5dae3b771cd00">
+
             <div class="tm-spacer" id="tm-spacer-5dae42409378e">
 
             </div>
 
             </div>
             <div class="tm-heading center tm-animation move-left" id="tm-heading-5dae3b771cdca">
+
             <div class="tm-heading center tm-animation move-left" id="tm-heading-5dae42409386f">
 
               <h3 class="heading" style="">
 
               <h3 class="heading" style="">
 
               SOFTWARE
 
               SOFTWARE
 
               </h3>
 
               </h3>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b771d075">
+
             <div class="tm-spacer" id="tm-spacer-5dae424093b0b">
 
             </div>
 
             </div>
 
             </div>
 
             </div>
Line 464: Line 464:
 
         <div class="vc_row-full-width vc_clearfix">
 
         <div class="vc_row-full-width vc_clearfix">
 
         </div>
 
         </div>
         <div class="vc_row vc_row-outer vc_row-fluid" id="tm-row-5dae3b771d146">
+
         <div class="vc_row vc_row-outer vc_row-fluid" id="tm-row-5dae424093bbb">
           <div class="wpb_column vc_column_container vc_col-sm-12" id="tm-column-5dae3b771d2ef">
+
           <div class="wpb_column vc_column_container vc_col-sm-12" id="tm-column-5dae424093d4d">
 
           <div class="vc_column-inner">
 
           <div class="vc_column-inner">
 
             <div class="wpb_wrapper">
 
             <div class="wpb_wrapper">
             <div class="tm-spacer" id="tm-spacer-5dae3b771d45d">
+
             <div class="tm-spacer" id="tm-spacer-5dae424093e8a">
 
             </div>
 
             </div>
 
             </div>
 
             </div>
Line 474: Line 474:
 
           </div>
 
           </div>
 
         </div>
 
         </div>
         <div class="vc_row vc_row-outer vc_row-fluid collapse" data-vc-full-width="true" data-vc-full-width-init="false" data-vc-stretch-content="true" id="tm-row-5dae3b771d52a">
+
         <div class="vc_row vc_row-outer vc_row-fluid collapse" data-vc-full-width="true" data-vc-full-width-init="false" data-vc-stretch-content="true" id="tm-row-5dae424093f3c">
           <div class="wpb_column vc_column_container vc_col-sm-1" id="tm-column-5dae3b771d6cb">
+
           <div class="wpb_column vc_column_container vc_col-sm-1" id="tm-column-5dae42409412f">
 
           <div class="vc_column-inner">
 
           <div class="vc_column-inner">
 
             <div class="wpb_wrapper">
 
             <div class="wpb_wrapper">
Line 481: Line 481:
 
           </div>
 
           </div>
 
           </div>
 
           </div>
           <div class="sidenav-menu wpb_column vc_column_container vc_col-sm-2" id="tm-column-5dae3b771d85d">
+
           <div class="sidenav-menu wpb_column vc_column_container vc_col-sm-2" id="tm-column-5dae424094277">
 
           <div class="vc_column-inner">
 
           <div class="vc_column-inner">
 
             <div class="wpb_wrapper">
 
             <div class="wpb_wrapper">
Line 535: Line 535:
 
         <div class="vc_row-full-width vc_clearfix">
 
         <div class="vc_row-full-width vc_clearfix">
 
         </div>
 
         </div>
         <div class="vc_row vc_row-outer vc_row-fluid" id="tm-row-5dae3b771dc4f">
+
         <div class="vc_row vc_row-outer vc_row-fluid" id="tm-row-5dae4240946c1">
           <div class="wpb_column vc_column_container vc_col-sm-1/5" id="tm-column-5dae3b771decb">
+
           <div class="wpb_column vc_column_container vc_col-sm-1/5" id="tm-column-5dae42409490d">
 
           <div class="vc_column-inner">
 
           <div class="vc_column-inner">
 
             <div class="wpb_wrapper">
 
             <div class="wpb_wrapper">
Line 542: Line 542:
 
           </div>
 
           </div>
 
           </div>
 
           </div>
           <div class="wpb_column vc_column_container vc_col-sm-4/5" id="tm-column-5dae3b771e031">
+
           <div class="wpb_column vc_column_container vc_col-sm-4/5" id="tm-column-5dae424094a5a">
 
           <div class="vc_column-inner">
 
           <div class="vc_column-inner">
 
             <div class="wpb_wrapper">
 
             <div class="wpb_wrapper">
Line 549: Line 549:
 
               </div>
 
               </div>
 
             </div>
 
             </div>
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae3b771e301">
+
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae424094d0d">
 
               <h3 class="heading" style="">
 
               <h3 class="heading" style="">
 
               <mark>
 
               <mark>
Line 557: Line 557:
 
               </h3>
 
               </h3>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b771e636">
+
             <div class="tm-spacer" id="tm-spacer-5dae424094ff8">
 
             </div>
 
             </div>
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae3b771e6f4">
+
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae4240950a8">
 
               <div class="heading" style="">
 
               <div class="heading" style="">
 
               One of the main strengths of this team was the interdisciplinarity involved, as we had engineers to deal with the Software-related aspects. That is why this project had a strong software component, being one of our main contributions the Artifical Intelligence algorithms developed to improve the SELEX process. We trained a GAN network with a library that we obtained modifying a previous year iGem team (Lyon 2016) improving it, for instance by making possible multithreading execution. We tested the quality of our algorithm with the Rosetta software for molecules modelling and we are extremely satisfied with both the obtained results and the efficiency in doing so.
 
               One of the main strengths of this team was the interdisciplinarity involved, as we had engineers to deal with the Software-related aspects. That is why this project had a strong software component, being one of our main contributions the Artifical Intelligence algorithms developed to improve the SELEX process. We trained a GAN network with a library that we obtained modifying a previous year iGem team (Lyon 2016) improving it, for instance by making possible multithreading execution. We tested the quality of our algorithm with the Rosetta software for molecules modelling and we are extremely satisfied with both the obtained results and the efficiency in doing so.
 
               </div>
 
               </div>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b771ea0e">
+
             <div class="tm-spacer" id="tm-spacer-5dae42409537d">
 
             </div>
 
             </div>
             <div class="vc_row vc_inner vc_row-fluid" id="tm-row-inner-5dae3b771f18b">
+
             <div class="vc_row vc_inner vc_row-fluid" id="tm-row-inner-5dae424095b89">
               <div class="wpb_column vc_column_container vc_col-sm-4" id="tm-column-inner-5dae3b771f6d5">
+
               <div class="wpb_column vc_column_container vc_col-sm-4" id="tm-column-inner-5dae4240960c6">
 
               <div class="vc_column-inner">
 
               <div class="vc_column-inner">
 
                 <div class="wpb_wrapper">
 
                 <div class="wpb_wrapper">
Line 573: Line 573:
 
               </div>
 
               </div>
 
               </div>
 
               </div>
               <div class="wpb_column vc_column_container vc_col-sm-4" id="tm-column-inner-5dae3b771f828">
+
               <div class="wpb_column vc_column_container vc_col-sm-4" id="tm-column-inner-5dae424096209">
 
               <div class="vc_column-inner">
 
               <div class="vc_column-inner">
 
                 <div class="wpb_wrapper">
 
                 <div class="wpb_wrapper">
                 <div class="tm-box-icon image_boxed style-01 tm-animation move-up" id="tm-box-icon-5dae3b771f9cc">
+
                 <div class="tm-box-icon image_boxed style-01 tm-animation move-up" id="tm-box-icon-5dae42409639e">
 
                   <div class="content-wrap">
 
                   <div class="content-wrap">
 
                   <div class="image">
 
                   <div class="image">
Line 601: Line 601:
 
               </div>
 
               </div>
 
               </div>
 
               </div>
               <div class="wpb_column vc_column_container vc_col-sm-4" id="tm-column-inner-5dae3b7720090">
+
               <div class="wpb_column vc_column_container vc_col-sm-4" id="tm-column-inner-5dae424096a89">
 
               <div class="vc_column-inner">
 
               <div class="vc_column-inner">
 
                 <div class="wpb_wrapper">
 
                 <div class="wpb_wrapper">
Line 608: Line 608:
 
               </div>
 
               </div>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b77201c0">
+
             <div class="tm-spacer" id="tm-spacer-5dae424096bab">
 
             </div>
 
             </div>
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae3b7720272">
+
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae424096c5d">
 
               <div class="heading" style="">
 
               <div class="heading" style="">
 
               We did not stop there and also developed a Search Engine for iGem words -from every year and team- as well as programmed several protocols for the Opentrons robot, where we also had to deal with other software modifications for the Ninja-PCR thermocycler and other Hardware modules.
 
               We did not stop there and also developed a Search Engine for iGem words -from every year and team- as well as programmed several protocols for the Opentrons robot, where we also had to deal with other software modifications for the Ninja-PCR thermocycler and other Hardware modules.
              <p>
 
              </p>
 
 
               <p>
 
               <p>
 
                 Hence, the software of our team can be divided into three rather wide parts:
 
                 Hence, the software of our team can be divided into three rather wide parts:
Line 620: Line 618:
 
               </div>
 
               </div>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b7720589">
+
             <div class="tm-spacer" id="tm-spacer-5dae424096f4e">
 
             </div>
 
             </div>
             <div class="tm-list style-modern-icon tm-animation move-up" id="tm-list-5dae3b7720631">
+
             <div class="tm-list style-modern-icon tm-animation move-up" id="tm-list-5dae424096fe9">
 
               <div class="list-item">
 
               <div class="list-item">
 
               <div class="list-header">
 
               <div class="list-header">
Line 663: Line 661:
 
               </div>
 
               </div>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b772090b">
+
             <div class="tm-spacer" id="tm-spacer-5dae4240972d2">
 
             </div>
 
             </div>
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae3b77209c0">
+
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae42409737b">
 
               <h3 class="heading" style="">
 
               <h3 class="heading" style="">
 
               <mark>
 
               <mark>
Line 673: Line 671:
 
               </h3>
 
               </h3>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b7720c60">
+
             <div class="tm-spacer" id="tm-spacer-5dae424097681">
 
             </div>
 
             </div>
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae3b7720d00">
+
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae424097730">
 
               <div class="heading" style="">
 
               <div class="heading" style="">
 
               We also developed a tool to make life easier to web page developers at the iGem competition. You can use WordPress templates to develop your site and then migrate it easily with this multi-threaded script.
 
               We also developed a tool to make life easier to web page developers at the iGem competition. You can use WordPress templates to develop your site and then migrate it easily with this multi-threaded script.
              <p>
 
              </p>
 
 
               <p>
 
               <p>
 
                 To run the script you can do:
 
                 To run the script you can do:
Line 693: Line 689:
 
               </div>
 
               </div>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b7720fad">
+
             <div class="tm-spacer" id="tm-spacer-5dae424097a04">
 
             </div>
 
             </div>
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae3b772104a">
+
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae424097aac">
 
               <h3 class="heading" style="">
 
               <h3 class="heading" style="">
 
               <mark>
 
               <mark>
Line 703: Line 699:
 
               </h3>
 
               </h3>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b772134c">
+
             <div class="tm-spacer" id="tm-spacer-5dae424097dc7">
 
             </div>
 
             </div>
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae3b7721405">
+
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae424097e8c">
 
               <div class="heading" style="">
 
               <div class="heading" style="">
 
               You can use our Search Engine for words in previous or this year's team's websites. This is a python search engine with GUI for searching words in each competition year and team's website.
 
               You can use our Search Engine for words in previous or this year's team's websites. This is a python search engine with GUI for searching words in each competition year and team's website.
              <p>
 
              </p>
 
 
               <p>
 
               <p>
 
                 You can run it from your terminal using:
 
                 You can run it from your terminal using:
Line 728: Line 722:
 
               </div>
 
               </div>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b7721713">
+
             <div class="tm-spacer" id="tm-spacer-5dae424098169">
 
             </div>
 
             </div>
             <div class="tm-image tm-animation move-up" id="tm-image-5dae3b7721772">
+
             <div class="tm-image tm-animation move-up" id="tm-image-5dae4240981c8">
 
               <div class="image">
 
               <div class="image">
 
               <img alt="1" src="/wiki/images/a/ae/T--MADRID_UCM--wp-content~uploads~2019~10~1.png"/>
 
               <img alt="1" src="/wiki/images/a/ae/T--MADRID_UCM--wp-content~uploads~2019~10~1.png"/>
 
               </div>
 
               </div>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b7721b8a">
+
             <div class="tm-spacer" id="tm-spacer-5dae4240985bf">
 
             </div>
 
             </div>
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae3b7721c43">
+
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae424098670">
 
               <h3 class="heading" style="">
 
               <h3 class="heading" style="">
 
               <mark>
 
               <mark>
Line 745: Line 739:
 
               </h3>
 
               </h3>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b7721f3b">
+
             <div class="tm-spacer" id="tm-spacer-5dae42409894a">
 
             </div>
 
             </div>
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae3b7721fef">
+
             <div class="tm-heading left tm-animation move-up" id="tm-heading-5dae424098a01">
 
               <div class="heading" style="">
 
               <div class="heading" style="">
 
               You can use our Search Engine for words in previous or this year's team's websites. This is a python search engine with GUI for searching words in each competition year and team's website.
 
               You can use our Search Engine for words in previous or this year's team's websites. This is a python search engine with GUI for searching words in each competition year and team's website.
              <p>
 
              </p>
 
 
               <p>
 
               <p>
 
                 You can run it from your terminal using:
 
                 You can run it from your terminal using:
Line 800: Line 792:
 
               </div>
 
               </div>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b77222df">
+
             <div class="tm-spacer" id="tm-spacer-5dae424098cc1">
 
             </div>
 
             </div>
             <div class="vc_row vc_inner vc_row-fluid vc_row-o-content-middle vc_row-flex" id="tm-row-inner-5dae3b772233f">
+
             <div class="vc_row vc_inner vc_row-fluid vc_row-o-content-middle vc_row-flex" id="tm-row-inner-5dae424098d29">
               <div class="wpb_column vc_column_container vc_col-sm-6" id="tm-column-inner-5dae3b772250c">
+
               <div class="wpb_column vc_column_container vc_col-sm-6" id="tm-column-inner-5dae424098f08">
 
               <div class="vc_column-inner">
 
               <div class="vc_column-inner">
 
                 <div class="wpb_wrapper">
 
                 <div class="wpb_wrapper">
                 <div class="tm-image tm-animation move-up" id="tm-image-5dae3b7722685">
+
                 <div class="tm-image tm-animation move-up" id="tm-image-5dae42409906c">
 
                   <div class="image">
 
                   <div class="image">
 
                   <img alt="robot" src="/wiki/images/1/19/T--MADRID_UCM--wp-content~uploads~2019~10~robot.jpg"/>
 
                   <img alt="robot" src="/wiki/images/1/19/T--MADRID_UCM--wp-content~uploads~2019~10~robot.jpg"/>
Line 814: Line 806:
 
               </div>
 
               </div>
 
               </div>
 
               </div>
               <div class="wpb_column vc_column_container vc_col-sm-6" id="tm-column-inner-5dae3b77229f1">
+
               <div class="wpb_column vc_column_container vc_col-sm-6" id="tm-column-inner-5dae42409936f">
 
               <div class="vc_column-inner">
 
               <div class="vc_column-inner">
 
                 <div class="wpb_wrapper">
 
                 <div class="wpb_wrapper">
Line 856: Line 848:
 
               </div>
 
               </div>
 
             </div>
 
             </div>
             <div class="tm-spacer" id="tm-spacer-5dae3b7722bff">
+
             <div class="tm-spacer" id="tm-spacer-5dae424099595">
 
             </div>
 
             </div>
 
             </div>
 
             </div>

Latest revision as of 23:47, 21 October 2019

Software-bueno – iGem Madrid

Brook Preloader
Wave Wave

SOFTWARE

1 Software contributions

One of the main strengths of this team was the interdisciplinarity involved, as we had engineers to deal with the Software-related aspects. That is why this project had a strong software component, being one of our main contributions the Artifical Intelligence algorithms developed to improve the SELEX process. We trained a GAN network with a library that we obtained modifying a previous year iGem team (Lyon 2016) improving it, for instance by making possible multithreading execution. We tested the quality of our algorithm with the Rosetta software for molecules modelling and we are extremely satisfied with both the obtained results and the efficiency in doing so.
github-image-796x418

GITHUB

You can check all the documentation in our GitHub repository.
Go!
We did not stop there and also developed a Search Engine for iGem words -from every year and team- as well as programmed several protocols for the Opentrons robot, where we also had to deal with other software modifications for the Ninja-PCR thermocycler and other Hardware modules.

Hence, the software of our team can be divided into three rather wide parts:

The GAN network with CNN neuronal nets and its Data Base here.
Several Python protocols for the OT2 robot and related software for custom Hardware explained here.
A nice extra tool: a Search Engine for words in other teams websites, since 2009.

2 WordPress To iGem Pages Script

We also developed a tool to make life easier to web page developers at the iGem competition. You can use WordPress templates to develop your site and then migrate it easily with this multi-threaded script.

To run the script you can do:

$ bash treatment.sh [url_1] -nm - - [url_2]

Some additional options are available, feel free to navigate throw our code!

3 Search Engine for iGem

You can use our Search Engine for words in previous or this year's team's websites. This is a python search engine with GUI for searching words in each competition year and team's website.

You can run it from your terminal using:

$ python search.py

You might have some dependencies not installed, you just need to do:

$ sudo pip install

1

4 Python Protocols

You can use our Search Engine for words in previous or this year's team's websites. This is a python search engine with GUI for searching words in each competition year and team's website.

You can run it from your terminal using:

$ python search.py

You might have some dependencies not installed, you just need to do:

$ sudo pip install

Folder OT_Robot in our GitHub contains biotechnological protocols for obtaining trained libraries of DNA aptamer molecules automated with the Opentrons OT-2 robot. This protocol is part of our contribution to the 2019 iGEM international biotechnology competition. For the thermocycler we built the Ninja-PCR.

To use them, you just need to drap and drop or upload the python protocols into the Opentrons App.

You can clone this repo or download the zip. Make sure all the dependencies are covered. First line is for installation of pip at most Linux distributions.

$ sudo apt install python-pip || pacman -S python-pip

$ sudo pip install opentrons subprocess time os

The robot can use the audio robot.mp3 and gets it from Robot Raspberry's /mnt/usbdrive/ (put it there or edit the location). You can load the protocol in the Opentrons application, available here. We also recommend the usage of an external Raspberry Pi to uninterruptedly provide the robot with Wi-Fi. Once you have stablished the Wi-Fi network at the Raspberry, you can connect the Robot too:

# nmcli dev wifi connect password

After the last update of the Robot -by the time this is written- the SSH connection has changed and now you need to exchange with it a public key for a more secure connection. Then when connected via SSH the robot will request the passphrase, at least the first time. Here is how you create the public key (you probably already have one):

robot

$ ssh-key
Generating public/private rsa key pair.
Enter file in which to save the key (/home/.ssh/id_rsa):
/home/pepe/.ssh/id_rsa already exists.
Overwrite (y/n)?
Enter passphrase (empty for no passphrase):
Your identification has been saved in /home/.ssh/id_rsa.
Your public key has been saved in /home/.ssh/id_rsa.pub.
The key fingerprint is:
a9:49:2e:2a:5e:33:3e:a9:de:4e:77:11:58:b6:90:26 pepe@remote_host
The key's randomart image is:
+--[ RSA 2048]----+
| ..o             |
| E o= .          |
| o. o            |
| ..              |
| ..S             |
| o o.            |
| =o.+.           |
|. =++..          |
|o=++.            |
+-----------------+