Overview

机器学习算法在项目中应用的时候,有时候会用到分离fasta格式的正负样本。于是就写了一个python脚本,效果不错,记录一下。

1. separatePosNeg.py

    #! /usr/bin/env python
    # -*- coding: utf-8 -*-
    # vim:fenc=utf-8
    import fileinput
    import sys
    import re

    ls=fileinput.input(sys.argv[1])
    check_head = re.compile(r'\>')
    cls = ''
    smplist = ''
    for line, strin in enumerate(ls):
        if check_head.match(strin):
            strin_vec=strin.split('|')
            cls = strin_vec[len(strin_vec)-1].strip()
            if cls == str(sys.argv[2]):
                smplist+=strin.strip()
                smplist+='\n'
                smplist+=ls.next()
    print smplist

记录下在linux命令行中的用法:

    #提取正样本时:
    python separatePosNeg.py original.fasta '1' >> pos.fasta
    #提取负样本时:
    python separatePosNeg.py original.fasta '-1' >> neg.fasta