zoukankan      html  css  js  c++  java
  • 【BioCode】根据seq与位点信息截取窗口

    代码说明

    sequence24371.txt

    以上为所有氨基酸的编号,序列,与位点标记。根据标记为“1”的位点,截取窗口:如下(实验结果):

    图示为一个窗口为12的蛋白质片段 2N+1=25;

    实现代码:

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<algorithm>
    #include<iostream>
    #define N 12
    using namespace std;
    void jieduan(int n,char s3[],char s1[],int l)
    {
        int i;
        if(n<N)
        {
            for(i=n-N;i<0;i++)
            {
                s3[i+N-n]='*';
            }
            for(i=0;i<=n+N;i++)
            {
                s3[i+N-n]=s1[i];
            }
            s3[i+N-n]='
    ';
        }
        else if(n>=l-N)
        {
            for(i=n-N;i<l;i++)
            {
                s3[i+N-n]=s1[i];
            }
            for(i=l;i<=n+N;i++)
            {
                s3[i+N-n]='*';
            }
            s3[i+N-n]='
    ';
        }
        else
        {
            for(i=n-N;i<=n+N;i++)
            {
                s3[i+N-n]=s1[i];
            }
            s3[i+N-n]='
    ';
        }
    }
    int main()
    {
        int i,j,k,l,m,n;
        char s[10000],s1[10000],s2[10000],s3[100];
        FILE *p1=fopen("sequence24371.txt","r");
        if(p1==NULL) printf("File not open!
    ");
        FILE *p2=fopen("positive12.txt","w");
        FILE *p3=fopen("negative12.txt","w");
        while(fgets(s,50000,p1))
        {
            fgets(s1,50000,p1);
            fgets(s2,50000,p1);
            l=strlen(s2)-1;
            for(i=0;i<l;i++)
            {
                if(s1[i]=='K')
                {
                    jieduan(i,s3,s1,l);
                    
                    if(s2[i]=='0')
                    {
                        fputs(s3,p3);
                    }
                    else
                    {
                        fputs(s3,p2);
                    }
                }
            }
        }
        //system("pause");
        return 0;
    }

    注:

    ①更改#define N 12 可以任意改变要截取的窗口大小

    positive12.txt为生成的正样本窗口,原本标记为“1”

    negative12.txt为生成的正样本窗口,原本标记为“0”

  • 相关阅读:
    缓存读写策略
    支撑京东小程序的开发框架 「Taro」
    Zookeeper vs Etcd
    前端开发利器 Web Replay
    kafka 中 zookeeper 具体是做什么的?
    newSQL 到底是什么?
    zookeeper配置集群
    zookeeper配置文件说明
    ssh远程访问-提示密钥不安全
    Nodejs-log4js使用配置
  • 原文地址:https://www.cnblogs.com/yumiaomiao/p/7145932.html
Copyright © 2011-2022 走看看