【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<;i++)
{
s3[i+N-n]='*';
}
for(i=;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[],s1[],s2[],s3[];
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,,p1))
{
fgets(s1,,p1);
fgets(s2,,p1);
l=strlen(s2)-;
for(i=;i<l;i++)
{
if(s1[i]=='K')
{
jieduan(i,s3,s1,l); if(s2[i]=='')
{
fputs(s3,p3);
}
else
{
fputs(s3,p2);
}
}
}
}
//system("pause");
return ;
}
注:
①更改#define N 12 可以任意改变要截取的窗口大小
②positive12.txt为生成的正样本窗口,原本标记为“1”
negative12.txt为生成的正样本窗口,原本标记为“0”
【BioCode】根据seq与位点信息截取窗口的更多相关文章
- NodeJS的url信息截取模块url-extract
NodeJS的url信息截取模块url-extract2013-09-12 22:49 by Justany_WhiteSnow, 212 阅读, 0 评论, 收藏, 编辑 上一篇文章,介绍了怎么利用 ...
- 【BioCode】Elm格式中提取位点信息
说明: ①Elm格式: PLMD ID Uniprot Accession Position Type Sequence Species PMIDsPlMD编号 ...
- 使用VB6写一个自定义的进度信息框窗口
一.起因说明 之前有些项目是用Access完成的,当时为了给用户显示一些进度信息,自制了一个进度信息窗体,类似下图所示: 随着项目不断变迁,需要将进度信息按阶段及子进度进行显示,并且出于代码封装的需求 ...
- JavaScript中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令是什么?
1.Alert()显示带有一段文字和一个确认按钮的警告窗口; 2.Confirm()显示带有一段文字以及确认和取消按钮的确认窗口; 3.Prompt()显示可提示用户输入的对话框.
- JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?
一种: <a href="javascript:if(confirm('确实要删除该内容吗?')){location='http://www.google.com'}"> ...
- js中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令式
alert("A"); confirm("B");var name = confirm("B");if(name){ alert(" ...
- 学生信息管理系统之【修改信息窗口】 标签: 数据库vb 2014-06-13 21:23 1167人阅读 评论(15)
自从开始敲学生信息管理,就发现有几个窗口从来木有成功打开过,它们是(修改学籍信息)(修改成绩信息)和(修改课程信息)窗口,这几个窗口每次想打开的时候都会弹出"实时错误:3021"这 ...
- [MFC] MFC 获取指定窗口截图(大小可调)
void screenShot(CRect rect,int left,int top,char *name){//截取窗口的大小,位置,名字(保存在默认路径下) CBitmap* m_pBitmap ...
- TCP系列31—窗口管理&流控—5、TCP流控与滑窗
一.TCP流控 之前我们介绍过TCP是基于窗口的流量控制,在TCP的发送端会维持一个发送窗口,我们假设发送窗口的大小为N比特,网络环回时延为RTT,那么在网络状况良好没有发生拥塞的情况下,发送端每个R ...
随机推荐
- C语言——第一章,程序设计和C语言
第一章,程序设计和C语言 一,程序和程序语言 程序:完成某项事物所预设的活动方式和活动过程 程序设计:人们描述(指程序)计算机要做的工作 程序设计语言及发展 1,机器语言 2,汇编语言 3 ...
- linux——Shell编程基础
1. shell 脚本的执行方式 1.1 直接绝对路径执行 1.2 相对路径执行 首先进入到shell脚本所造的目录 PS:用./执行要增加x权限.用bash执行可以不增加x权限 1.3 在当前she ...
- 【常用】IDEA常用快捷键与操作
以下出场顺序为开始学习IDEA时遇到的顺序,并非实际中的使用频率,最终版待整理 0.“ctrl+space(由于习惯问题我已经更改为alt+/)”——基本提示 “ctrl+shift+space”—— ...
- 20155331 实验四 Android开发基础
20155331丹增旦达实验四报告 实验四 Android程序设计-1 Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java ...
- 20145226夏艺华 《Java程序设计》第7&8周学习总结、实验一
[实验一]http://www.cnblogs.com/bestixyh/p/6358734.html [第7周]http://www.cnblogs.com/bestixyh/p/6380475.h ...
- 【LG3243】[HNOI2015]菜肴制作
题面 洛谷 题解 首先我们有个非常显然的思路, 就是直接拓扑排序,用小根堆代替队列再按顺序输出,但是很显然是错的, 因为这只保证了字典序最小,而无法保证答案最优,\(<2,4>,<3 ...
- jQuery File Upload 文件上传插件使用二 (功能完善)
使用Bootstrap美化进度条 Bootstrap现在几乎是人尽皆知了,根据它提供的进度条组件, 让进度条显得高大尚点 正因为其功能强大,js模块文件之间牵连较深 不好的地方耦合度非常高 重要的参数 ...
- 修改索引名称(mysql)
MySQL修改索引名称. 对于MySQL 5.7及以上版本,可以执行以下命令: ALTER TABLE tbl_name RENAME INDEX old_index_name TO new_inde ...
- jenkins自动打包部署linux
需要用到2个插件. git parameter:用于参数化构建时选择分支. Publish Over SSH:用于上传jar包和操作tomcat 1.先在系统设置添加要连接的linux服务器,使用用户 ...
- GitHub 多人协作开发 三种方式:
GitHub 多人协作开发 三种方式: 一.Fork 方式 网上介绍比较多的方式(比较大型的开源项目,比如cocos2d-x) 开发者 fork 自己生成一个独立的分支,跟主分支完全独立,pull代码 ...