蛋白质式子文件分割小程序

今日帮生物工程的同学写一小程序,其实只是实现很简单的功能,但觉得可以通过自己的程序帮助别人更好的完成学业上的任务,也是一件很开心的事。

需求:一个近2M的txt文件,中间包含了几千个蛋白质的式子(因为对这方面知识缺乏,所以不是很了解到底是做什么用的),需要对这些式子进行分析,在一个大文件中进行处理不方便,故希望可以把文件按蛋白质数量,如500个一组,分成若干个文件。

分析:程序不涉及数据库,只是文件和流方面的读写而已。
     打开文件后看到蛋白质式子都是类似以下格式

>PTNAB_SHIFL
TIAIVIGTHGWAAEQLLKTAEMLLGEQENVGWIDFVPGENAETLIEKYNAQLAKLDTTKG
VLFLVDTWGGSPFNAASRIVVDKEHYEVIAGVNIPMLVETLMARDDDPSFDELVALAVET
GREGVKALKAKPVEKAAPAPAAAAPKAAPTPAKPMGPNDYMVIGLARIDDRLIHGQVATR
WTKETNVSRIIVVSDEVAADTVRKTLLTQVAPPGVTAHVVDVAKMIRVYNNPKYAGERVM
LLFTNPTDVERLVEGGVKITSVNVGGMAFRQGKTQVNNAVSVDEKDIEAFKKLNARGIEL
EVRKVSTDPKLKMMDLISKIDK
>PTNC_SHIFL
MEITTLQIVLVFIVACIAGMGSILDEFQFHRPLIACTLVGIVLGDMKTGIIIGGTLEMIA
LGWMNIGAAVAPDAALASIISTILVIAGHQSIGAGIALAIPLAAAGQVLTIIVRTITVAF
QHAADKAADNGNLTAISWIHVSSLFLQAMRVAIPAVIVALSVGTSEVQNMLNAIPEVVTN
GLNIAGGMIVVVGYAMVINMMRAGYLMPFFYLGFVTAAFTNFNLVALGVIGTVMAVLYIQ
LSPKYNRVAGAPAQAAGNNDLDNELD
>PTPS_SHIFL
MMSTTLFKDFTFEAAHRLPHVPEGHKCGRLHGHSFMVRLEITGEVDPHTGWIIDFAELKA
AFKPTYERLDHHYLNDIPGLENPTSEVLAKWIWDQVKPVVPLLSAVMVKETCTAGCIYRG
E

  所以首先确定每识别到一个 ">" 便可认为找到一个蛋白质,设一个变量记录蛋白质的个数,当文件遍历完自然就能得到文件中含有的蛋白质个数。
  文件个数:总蛋白质个数/设置的分割数  或者  总蛋白质个数/设置的分割数+1  是否加1取决于总蛋白质个数/设置的分割数是否有余数,即是否能刚好被若干等分。
  分割:我的思路是每读取一行,就向新文件中写入该行,直到该文件中的蛋白质数量达到设置的要求。使用for语句循环创建文件,并进行文件的读写。
其他就是文件的读写了,因为之前没有做过文件读写方面的程序,所以这次也算是练手吧,有些地方没有捕捉异常,所以会出现问题。如果输入及设置正常使用没有问题。我把程序的源码提供在下面,希望大家互相交流。开发环境:VS.net 2005 开发语言:C#

/Files/weiwcn/danbaizhi.rar

posted on 2007-12-04 22:21  weiwcn  阅读(260)  评论(0编辑  收藏  举报

导航