annotate PDAUG_Word_Vector_Model/PDAUG_Word_Vector_Model.py @ 0:e59674e3a391 draft

"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
author jay
date Fri, 20 Nov 2020 19:47:44 +0000
parents
children d11a54691a2f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
1 import nltk
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
2 from nltk import trigrams
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
3 import pandas as pd
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
4 from Bio import SeqIO
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
5 import gensim, logging
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
6 import argparse
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
7
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
8 parser = argparse.ArgumentParser()
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
9
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
10 parser.add_argument("-I", "--Input", required=True, default=None, help="Path to target fasta file")
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
11 parser.add_argument("-M", "--min_count", required=False, default=0, help="Path to target tsv file")
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
12 parser.add_argument("-W", "--window", required=False, default=5, help="Path to target tsv file")
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
13 parser.add_argument("-O", "--OutFile", required=False, default='model.txt', help="Path to target tsv file")
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
14
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
15 args = parser.parse_args()
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
16
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
17 class ProteinSeq(object):
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
18 def __init__(self):
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
19 pass
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
20 def __iter__(self):
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
21 for index, record in enumerate(SeqIO.parse(args.Input, 'fasta')):
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
22 for loop_num in range(0, 3):
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
23 Ngram_list = []
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
24 tri_tokens = trigrams(record.seq)
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
25 for index1, item in enumerate(tri_tokens):
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
26 if index1 % 3 == loop_num:
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
27 tri_pep = item[0] + item[1] + item[2]
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
28 Ngram_list.append(tri_pep)
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
29 yield Ngram_list
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
30 #min_count = 0
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
31 size = 200
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
32 #window = 5
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
33 sg = 1
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
34
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
35 sentences = ProteinSeq()
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
36 model = gensim.models.Word2Vec(sentences, min_count=int(args.min_count), size=size, window=int(args.window), sg = sg, workers = 10)
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
37 model.wv.save_word2vec_format(args.OutFile, binary=False)
e59674e3a391 "planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 6f53ad797ec1af02b41510063a86bec7d121abf3"
jay
parents:
diff changeset
38