【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]=‘\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]=‘\n‘;
    }
    else
    {
        for(i=n-N;i<=n+N;i++)
        {
            s3[i+N-n]=s1[i];
        }
        s3[i+N-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!\n");
    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”

时间: 2024-10-18 17:08:41

【BioCode】根据seq与位点信息截取窗口的相关文章

如何优雅的研究 RGSS3 番外(二) 显示文字信息的窗口中的纤程

Ruby 中的 Fiber 通常称为纤程,是一种非抢占式的多线程模型. 纤程不能在外部被终止,只能等待其主动让出执行权. RGSS3 在事件解释器 Game_Interpreter 与显示文字信息的窗口 Window_Message 中都用到了纤程. 以 Window_Message 为例. #-------------------------------------------------------------------------- # ● 更新画面 #-----------------

C++MFC编程笔记day04 运行时类信息和窗口的动态、静态切分

运行时类信息 程序在运行时,获取对象类的信息及类的继承关系 实现: 1.定义类继承自CObject类. 2.类内声明宏DECLARE_DYNAMIC(),类外实现宏IMPLEMENT_DYNAMIC() 3.使用: BOOL IsKindOf(CRuntimeClass* pClass)//对象是否属于某个类 CRuntimeClass* GetRuntimeClass( );//获取对象运行时类信息,经常使用RUNTIME_CLASS(类名)代替. 示例: #include "stdafx.h

【BioCode】Elm格式中提取位点信息

说明: ①Elm格式: PLMD ID    Uniprot Accession    Position     Type     Sequence   Species    PMIDsPlMD编号 Uniprot数据库编号         位点 翻译后修饰类型 序列信息 物种 PMID PLMD-1   O00115     52     Ubiquitination  MIPLLLAALLCVPAGALTC Homo sapiens   21963094;23266961 ②代码说明:从上述

使用VB6写一个自定义的进度信息框窗口

一.起因说明 之前有些项目是用Access完成的,当时为了给用户显示一些进度信息,自制了一个进度信息窗体,类似下图所示: 随着项目不断变迁,需要将进度信息按阶段及子进度进行显示,并且出于代码封装的需求,需要将其封装到一个dll文件中.最终完成的效果如下图: 调用该进度信息框的代码类似如下所示: 1 Private Sub cmdCommand1_Click() 2 Dim pb As New CProgressBar 3 pb.AddStage "第一步", 10000 4 pb.Ad

js中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令式

alert("A"); confirm("B");var name = confirm("B");if(name){ alert("确定");}else{ alert("取消");} // 如果用户点击确定按钮,则 confirm() 返回 true.如果点击取消按钮,则 confirm() 返回 false. prompt("请输入","张三");var name

在窗口中显示类信息

import java.lang.reflect.Field; import javax.swing.JFrame; import javax.swing.BorderFactory; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JTextField; import javax.swing.JButton; import javax.swing.JLabel

window窗口详解

窗口 在图形化的基于win32的应用程序,窗口是屏幕的矩形区域,应用程序显示输出并接收来自用户的输入,因此,一个图形化基于win32的应用程序的首要任务之一就是创建一个窗口. 窗口与其它窗口共享屏幕,[本事]包括来自其它应用程序的窗口,每次只有一个窗口可以接收来自用户的输入,用户可以使用鼠标.键盘或其它输入设备与此窗口以及拥有该窗口的应用程序进行交互. 关于窗口 这个概述描述了应用程序用来创建和使用窗口的编程单元:管理窗口之间的关系:以及大小.移动.和显示窗口:概述包括以下主题: 桌面窗口  

Vs2013在Linux开发中的应用(23):信息输出

快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 有时候,我们需要往VS的信息输出窗口输出一些调试信息,此时只要向SDM发送通知: Send(new AD7DebugOutputStringEvent2(e.Output), AD7DebugOutputStringEvent2.IID, thread); 利用此功能,很容易就可以把gdb的输出导向VS的信息输出窗口: ??

DotNet隐藏敏感信息操作方法

在项目中,有时候一些信息不便完全显示,只需要显示部分信息.现在提供一些隐藏敏感信息的操作方法,主要为对信息的截取操作: 1.指定左右字符数量,中间的*的个数和实际长度有关:         /// <summary>         /// 隐藏敏感信息         /// </summary>         /// <param name="info">信息实体</param>         /// <param name