Mercurial > repos > jay > pdaug_merge_dataframes
view PDAUG_TSVtoFASTA/PDAUG_TSVtoFASTA.py @ 1:fcd5d259427c draft
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 3c91f421d26c8f42cf2671e47db735d2cf69dde8"
author | jay |
---|---|
date | Tue, 29 Dec 2020 04:05:22 +0000 |
parents | 5bb52d4bf172 |
children | 728e04b97852 |
line wrap: on
line source
import os import argparse def TSVtoFASTA(InFile, Method, Positive, Negative, OutFile): if Method == 'WithClassLabel': f = open(InFile) lines = f.readlines() of1 = open(Positive,'w') of2 = open(Negative,'w') n = 0 m = 0 l = [] for line in lines[1:]: l.append(line.split('\t')[1].strip('\n').strip('\r')) l = list(set(l)) for line in lines: if l[0] in line.split('\t')[1].strip('\n').strip('\r'): n= n+1 of1.write('>peptide_'+str(n)+'_'+str(l[0])+'\n') of1.write(line.split('\t')[0]+'\n') if l[1] in line.split('\t')[1].strip('\n').strip('\r'): m= m+1 of2.write('>peptide_'+str(m)+'_'+str(l[1])+'\n') of2.write(line.split('\t')[0]+'\n') elif Method == 'NoClassLabel': f = open(InFile) lines = f.readlines() of1 = open(OutFile,'w') for i, line in enumerate(lines[1:]): of1.write('>peptide_'+str(i)+'\n') of1.write(line.split('\t')[0]+'\n') else: pass if __name__=="__main__": import argparse parser = argparse.ArgumentParser() parser.add_argument("-I", "--InFile", required=True, default=None, help=".fasta or .tsv") parser.add_argument("-P", "--Postvs", required=False, default='FirstDataFile.fasta', help="Path to target tsv file") parser.add_argument("-N", "--Negtvs", required=False, default='SecondDataFile.fasta', help="Path to target tsv file") parser.add_argument("-O", "--OutFile", required=False, default='OutFile.fasta', help="Path to target tsv file") parser.add_argument("-M", "--Method", required=True, default=None, help="Path to target tsv file") args = parser.parse_args() TSVtoFASTA(args.InFile, args.Method, args.Postvs, args.Negtvs, args.OutFile)