Bio-informatics for NEUB students
    
    Explore the docs »
    
    
    View Demo
    ·
    Report Bug
    ·
    Request Feature
  
Question 1 ans:
a)False
b)True
c)True
d)True
e)false
Question 1 ans
a)True
b)true
c)false
d)True
e)false
- DNA Counting
 - DNA Complementary
 - RNA Complementary
 - DNA Reversal
 - DNA Transcription
 - Smith Waterman Algorithm
 - Needleman Algorithm
 - Edit Distance
 
#include <bits/stdc++.h>
using namespace std;
int main(void) {
    string str;
    cin >> str;
    int len = str.size();
    int a = 0, c = 0, g = 0, t = 0;
    for(int i = 0; i<len; i++) {
        if(str[i] == 'A') a++;
        else if (str[i] == 'C') c++;
        else if (str[i] == 'G') g++;
        else if (str[i] == 'T') t++;
    }
    cout << "A: " << a << " C: " << c << " G: " << g << " T: " << t << endl;
    return 0;
}
// Sample input: ACGTATTC
//        Ouput: A: 2 C: 2 G: 1 T: 3#include <bits/stdc++.h>
using namespace std;
void dnaComplementary(string str) {
    int len = str.length();
    for (int i = 0; i<len; i++) {
        if(str[i] == 'A'){
            str[i] = 'T';
        }
        else if(str[i] == 'T'){
            str[i] = 'A';
        }
        else if(str[i] == 'C'){
            str[i] = 'G';
        }
        else if(str[i] == 'G'){
            str[i] = 'C';
        }
    }
    for(int i =0; i<len; i++) {
        cout << str[i];
    }
}
int main() {
    string str;
    cin >> str;
    dnaComplementary(str);
}
/*
Sample input-output:
ACGTATTC
TGCATAAG
*/#include <bits/stdc++.h>
using namespace std;
void rnaComplementary(string str) {
    int len = str.length();
    for (int i = 0; i<len; i++) {
        if(str[i] == 'A'){
            str[i] = 'U';
        }
        else if(str[i] == 'U'){
            str[i] = 'A';
        }
        else if(str[i] == 'C'){
            str[i] = 'G';
        }
        else if(str[i] == 'G'){
            str[i] = 'C';
        }
    }
    for(int i =0; i<len; i++) {
        cout << str[i];
    }
}
int main() {
    string str;
    cin >> str;
    rnaComplementary(str);
}
/*
Sample input:AACGUAGGCUC
    output  :UUGCAUCCGAG
*/#include <bits/stdc++.h>
using namespace std;
void dnaReversal(string str) {
    int len = str.length();
    for (int i = len; i>=0; i--){
        if(str[i] == 'A'){
            str[i] = 'T';
        }
        else if(str[i] == 'T'){
            str[i] = 'A';
        }
        else if(str[i] == 'C'){
            str[i] = 'G';
        }
        else if(str[i] == 'G'){
            str[i] = 'C';
        }
    }
    for(int i = len; i>=0; i--) {
        cout << str[i];
    }
}
int main() {
    string str;
    cin >> str;
    dnaReversal(str);
}
/*
Sample input  : AACGTAGGCTC
        output: GAGCCTACGTT
*/#include <bits/stdc++.h>
using namespace std;
void transcriptDNA(string str) {
    int len = str.length();
    for (int i = 0; i<len; i++) {
                if(str[i] == 'T'){
            str[i] = 'U';
        }
    }
    for(int i =0; i<len; i++) {
        cout << str[i];
    }
}
int main() {
    string str;
    cin >> str;
    transcriptDNA(str);
}
/*
Sample input: AACGTAGGCTC
    output  : AACGUAGGCUC
*/#include <bits/stdc++.h>
using namespace std;
int main() {
    string ls="AGCT", rs="ATGCT";
    //cin >> ls >> rs;
    int row, col;
    row = ls.length()+1;
    col = rs.length()+1;
    int data[row][col];
    for (int i = 0; i<row; i++) {
        for (int j = 0; j<col; j++) {
            data[i][j] = 0;
        }
    }
    int match = 1 ,misMatch = -1,gap = -2;
    int lef_adj = 0, up_adj = 0, dia_adj = 0;
    for (int i = 1; i<row; i++) {
        for (int j = 1; j<col; j++) {
            lef_adj = data[i-1][j] + gap;
            if(lef_adj < 0) {
                lef_adj =0;
            }
            up_adj = data[i][j-1] + gap;
            if (up_adj < 0) {
                up_adj = 0;
            }
            if(ls[i-1] == rs[j-1]) {
                dia_adj = data[i-1][j-1]+match;
            }
            else {
                dia_adj = data[i-1][j-1]+misMatch;
            }
            data[i][j] = max(lef_adj, up_adj);
            data[i][j] = max(data[i][j], dia_adj);
        }
    }
     for (int i = 0; i<row; i++) {
        for (int j = 0; j<col; j++) {
            cout << data[i][j] << " ";
        }
        cout << "\n";
    }
    return 0;
}#include <bits/stdc++.h>
using namespace std;
int main() {
    string ls="AGCT", rs="ATGCT";
    int row, col;
    row = ls.length()+1;
    col = rs.length()+1;
    int data[row][col];
    for (int i = 0; i<row; i++) {
        for (int j = 0; j<col; j++) {
            data[i][j] = 0;
        }
    }
    for (int i = 0; i<1; i++) {
        for (int j = 1; j<col; j++) {
            data[i][j] = -j*2;
        }
    }
    for (int i = 0; i<row; i++) {
        for (int j = 0; j<1; j++) {
            data[i][j] = -i*2;
        }
    }
     for (int i = 0; i<row; i++) {
        for (int j = 0; j<col; j++) {
            cout << data[i][j] << " " ;
        }
        cout << endl;
    }
    int match = 1 ,misMatch = -1,gap = -2, lef_adj = 0, up_adj = 0, dia_adj = 0;
    for (int i = 1; i<row; i++) {
        for (int j = 1; j<col; j++) {
            lef_adj = data[i-1][j] + gap;
            up_adj = data[i][j-1] + gap;
            if(ls[i-1] == rs[j-1]) {
                 dia_adj = data[i-1][j-1]+match;
            }
            else {
                dia_adj = data[i-1][j-1]+misMatch;
            }
            data[i][j] = max(lef_adj, up_adj);
            data[i][j] = max(data[i][j], dia_adj);
        }
    }
    cout << endl;
     for (int i = 0; i<row; i++) {
        for (int j = 0; j<col; j++) {
            cout << data[i][j] << " ";
        }
        cout << "\n";
    }
    return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main(void) {
    string str1,str2;
    int row,col;
    cin >> str1>> str2;
    row = str1.length()+1;
    col = str2.length()+1;
    int data[row][col];
    for(int i=0; i<row; i++){
        data[i][0] = i;
    }
    for( int j=0; j<col; j++){
        data[0][j] = j;
    }
    int up_adj, lft_adj, dig_adj;
    for( int i=1; i<row; i++)
    {
        for(int j=1; j<col; j++)
        {
            lft_adj = data[i-1][j] ;
            up_adj = data[i][j-1];
            dig_adj = data[i-1][j-1];
            if(str1[i-1] == str2[j-1])
            {
                data[i][j]= dig_adj;
            }
            else
            {
                data[i][j] = min(lft_adj+1 ,up_adj+1 );
                data[i][j] = min(data[i][j], dig_adj+1 );
            }
        }
    }
    for(int i = 0; i<row; i++) {
        for(int j = 0; j<col; j++) {
            cout << data[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}#include<bits/stdc++.h>
using namespace std;
int arr[100];
vector<int>delX , X, vec;
void checking(int num)
{
    int i=0, diff=0, cnt = 0;
    int lenX = X.size();
    while(i < lenX)
    {
        //compute subtraction
        diff = abs(X[i] - num);
        if(arr[diff] > 0)
        {
            cnt += 1;
            vec.push_back(diff);
        }
        i++;
    }
    if(cnt == lenX)
    {
        for(i=0; i<vec.size(); i++)
        {
            arr[vec[i]]--;
        }
        X.push_back(num);
    }
    vec.clear();
}
int main()
{
    delX = {2, 2, 3, 3, 4, 5, 6, 7, 8, 10}; // the given multi set
    int i, j, diff=0, len = delX.size();
    sort(delX.begin(), delX.end()); // sorted the multi set
    X.push_back(0);
    X.push_back(delX[len-1]); // taken X and push back first two elements
    //count each number in the del X
    for(i=0; i<len; i++)
    {
        arr[delX[i]]++;
    }
//    for(i=0; i<len; i++)
//    {
//        cout << delX[i] << " " << arr[delX[i]] << "\n";
//    }
    i = 0 , j = 0;
    while(i < delX.size())
    {
        //checked the conditions
        checking(delX[i]);
        i++;
    }
    //sort the elements of the X
    sort(X.begin(), X.end());
    for(int i=0; i<X.size(); i++)
    {
        cout << X[i] << " ";
    }
    return 0;
}#include <bits/stdc++.h>
using namespace std;
typedef long long lg;
const lg N = 9; // BIG LOOOOOOOOOL 7
// lg ar[N][N];
int
main()
{
   bool flag = true;
   lg brk, n, j, t, k, h, i, m, ah, am, a, b, c, x, count;
   cin >> count;
   lg indata[count], indata2[count];
   lg ar[count][count];
   vector < lg > v, v2;
   for (i = 0; i < count; i++)
   {
      cin >> indata[i];
   }
   for (i = 0; i < count; i++)
   {
      cin >> indata2[i];
   }
   for (i = 0; i < count; i++)
   {
      for (j = 0; j < count; j++)
      {
         if (j > i)
         {
            ar[i][j] = indata[j] - indata[i];
            v.push_back(indata[j] - indata[i]);
         } else
            ar[i][j] = -1;
      }
   }
   // for output full matrix
   cout << "1st matrix :" << endl;
   for (i = 0; i < count; i++)
   {
      for (j = 0; j < count; j++)
      {
         cout << ar[i][j] << " ";
      }
      cout << endl;
   }
   lg sz = v.size();
   sort(v.begin(), v.end());
   cout << endl;
   // for x2
   cout << "2nd x2" << endl;
   for (i = 0; i < count; i++)
   {
      for (j = 0; j < count; j++)
      {
         if (j > i)
         {
            ar[i][j] = indata2[j] - indata2[i];
            v2.push_back(indata2[j] - indata2[i]);
         } else
            ar[i][j] = -1;
      }
   }
   cout << "2nd matrix :" << endl;
   for (i = 0; i < count; i++)
   {
      for (j = 0; j < count; j++)
      {
         cout << ar[i][j] << " ";
      }
      cout << endl;
   }
   sz = v2.size();
   sort(v2.begin(), v2.end());
   cout << endl;
   cout << "X1: ";
   for (i = 0; i < sz; i++)
   {
      cout << v[i] << " ";
   }
   cout << endl;
   cout << endl;
   cout << "X2: ";
   for (i = 0; i < sz; i++)
   {
      cout << v2[i] << " ";
   }
   cout << endl;
   cout << endl;
   flag = true;
   for (i = 0; i < sz; i++)
   {
      if (v[i] != v2[i])
      {
         cout << "Its not homomatric!" << endl;
         flag = false;
         break;
      }
   }
   if (flag)
      cout << "Its homomatric!" << endl;
   return 0;
}Author: Kopil Das
To get a local copy up and running, follow these simple steps:
This repo doesn't rely on any external dependencies or services. You can clone the repository by running the following command in your terminal:
1.Clone the repo
git clone https://github.com/mamutalib/Bio-informatics.git
Contributions to this project are greatly appreciated. If you have a suggestion that would make this project better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
 - Create your Feature Branch (
git checkout -b feature/YourFeatureName) - Commit your Changes (
git commit -m 'Add some YourFeatureName) - Push to the Branch (
git push origin feature/YourFeatureName) - Open a 
Pull Request 
Distributed under the MIT License. See LICENSE.txt for more information.
Md. Abdul Mutalib - Twitter - mutalibcse@yahoo.com
Project Link: https://github.com/mamutalib/Bio-informatics
I gratefully acknowledge the valuable resources and tools that have helped me in my development work. These include open source licenses, cheat sheets, shields and icons, and platforms. Thank you to the developers and organizations who have contributed to the development community.

