ustckun / USTC-Software2013

iGEM
http://2013.igem.org/Team:USTC-Software
Other
4 stars 8 forks source link

A confusing statement in GRN.cpp #23

Closed FreeBirdLjj closed 11 years ago

FreeBirdLjj commented 11 years ago

The lines 29~33 in GRN.cpp

if (((rand() % 100) / 100.0) < 0.5) {
   new_GRN[i][j] = 0;
} else {
   new_GRN[i][j] = 0;
}

What's the difference between then and else branches?

jinyangustc commented 11 years ago

Thank you for your attention to USTC-Software, LU. I am Jinyang who is responsible for the GRN module. I'll explain line 29 to 33 for you.

GRN is short for Gene Regulatory Network. This year we tried to predict a new gene's behavior when it's inserted into original GRN based on sequence alignment. In the first module, i.e. data-capture module, we get GRN information from RegulonDB which provides many databases about Ecoli(Here is the link: http://www.ccg.unam.mx/en/projects/collado/regulondb). At the beginning, we thought there are 0, +1 and -1 in the GRN matrix representing "no relationship", "enhance" and "repress". But it turns out that there are some 2s in the matrix. It means some genes will show different properties in different environment. We need environment parameters to determine these relationships.

In order to simplify debugging, we decided to give a relationship randomly when it comes to 2. But then we wanted to know what will happen if we set 2 to 0. And it is absolutely my mistake that I forget to modify these lines when pushed to git. I already set [TODO] to mark that bug. Line 29 ~ 33 will not appear in the final version.

Again, thank you for your email. If you find more bugs(I'm a green-hand in coding :P), or want further information, please feel free to contact me.

在 2013-8-23,下午7:35,FreeBirdLjj notifications@github.com 写道:

The lines 29~33 in GRN.cpp

if (((rand() % 100) / 100.0) < 0.5) { new_GRN[i][j] = 0; } else { new_GRN[i][j] = 0; } What's the difference between then and else branch?

— Reply to this email directly or view it on GitHub.

FreeBirdLjj commented 11 years ago

In fact. if you want to debug or test some unstable function, you can create a new branch, and after developing, merge the branches. The master branch should have been clean and understandable, if you aren't sure about something, you can tag it with a FIXME.

jinyangustc commented 11 years ago

Your advice is very helpful. It's kind of you to share your experience with us. We will improve our performance by your advice. Thank you! :)

在 2013-8-24,上午1:55,Junjie LU notifications@github.com 写道:

In fact. if you want to debug or test some unstable function, you can create a new branch, and after developing, merge the branches. The master branch should have been clean and understandable, if you aren't sure about something, you can tag it with a FIXME.

— Reply to this email directly or view it on GitHub.