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