Skip to content
This repository was archived by the owner on Sep 12, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Plugins/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#__init.py__
#Plugins/__init.py__

from Plugins.__caller__ import Caller, UnknownCallerModeError, CallerFailedVerification

Expand Down
28 changes: 16 additions & 12 deletions Plugins/read_gff_maker_3UTR.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#read_gff_maker_3UTR.py
#Plugin/sread_gff_maker_3UTR.py

import pandas as pd
from Plugins.__read_gff_maker__ import __ReadGFFMaker__
Expand All @@ -10,7 +10,9 @@ class Plugin(__ReadGFFMaker__):
"""
def feature_initialize(self, pre_feature, metadata):
return SeqFeature(
FeatureLocation(int(pre_feature["start"]), int(pre_feature["stop"]), (1,-1)[pre_feature["strand"] == "-"]),
FeatureLocation(int(pre_feature["start"]),
int(pre_feature["end"]),
(1,-1)[pre_feature["strand"] == "-"]),
type="3'UTR",
qualifiers={
"gene":None,
Expand All @@ -20,16 +22,18 @@ def feature_initialize(self, pre_feature, metadata):
"""
def process(self, app, caller_mode, key_handle, calls:list=[], target=None):
try:
feature = self.feature_initialize(
app.handles[key_handle].loc[(target[0], f"{target[1]}-mRNA-1", "three_prime_UTR"),:].reset_index().iloc[0,:],
app.metadata)
pre_feature = app.handles[key_handle].loc[(target[0], f"{target[1]}-mRNA-1:three_prime_utr", "three_prime_UTR"),:].iloc[0,:]
feature = self.feature_initialize(pre_feature, app.metadata)
feature.qualifiers["gene"] = target[1]
except KeyError:
return None

feature.qualifiers["gene"] = target[1]
receiver = self.callbacks(
app,
calls,
(target[0], f"{target[1]}-mRNA-1", "3'UTR"))

return self.merge(feature, receiver)
try:
receiver = self.callbacks(
app,
calls,
(target[0], f"{target[1]}-mRNA-1", "3'UTR"))
except KeyError:
receiver = []

return self.merge(feature, receiver)
35 changes: 19 additions & 16 deletions Plugins/read_gff_maker_5UTR.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#read_gff_maker_5UTR.py
#Plugins/read_gff_maker_5UTR.py

import pandas as pd
from Plugins.__read_gff_maker__ import __ReadGFFMaker__
Expand All @@ -10,26 +10,29 @@ class Plugin(__ReadGFFMaker__):
"""
def feature_initialize(self, pre_feature, metadata):
return SeqFeature(
FeatureLocation(int(pre_feature["start"]), int(pre_feature["stop"]), (1,-1)[pre_feature["strand"] == "-"]),
FeatureLocation(int(pre_feature["start"]),
int(pre_feature["end"]),
(1,-1)[pre_feature["strand"] == "-"]),
type="5'UTR",
qualifiers={
"gene":None,
"note":list()})
qualifiers={"gene":None,
"note":list()})

"""
"""
def process(self, app, caller_mode, key_handle, calls:list=[], target=None):
try:
feature = self.feature_initialize(
app.handles[key_handle].loc[(target[0], f"{target[1]}-mRNA-1", "five_prime_UTR"),:].reset_index().iloc[0,:],
app.metadata)
pre_feature = app.handles[key_handle].loc[(target[0], f"{target[1]}-mRNA-1:five_prime_utr", "five_prime_UTR"),:].iloc[0,:]
feature = self.feature_initialize(pre_feature, app.metadata)
feature.qualifiers["gene"] = target[1]
except KeyError:
return None

feature.qualifiers["gene"] = target[1]
receiver = self.callbacks(
app,
calls,
(target[0], f"{target[1]}-mRNA-1", "5'UTR"))

return self.merge(feature, receiver)

try:
receiver = self.callbacks(
app,
calls,
(target[0], f"{target[1]}-mRNA-1", "5'UTR"))
except KeyError:
receiver = []

return self.merge(feature, receiver)
32 changes: 17 additions & 15 deletions Plugins/read_gff_maker_CDS.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#read_gff_maker_CDS.py
#Plugins/read_gff_maker_CDS.py

import pandas as pd
import itertools
Expand All @@ -11,9 +11,9 @@ class Plugin(__ReadGFFMaker__):
"""
def feature_initialize(self, pre_feature, metadata):
refactor_pre_feature = lambda element: FeatureLocation(
int(element[0]),
int(element[1]),
(1,-1)[element[2] == "-"])
int(element["start"]),
int(element["end"]),
(1,-1)[element["strand"] == "-"])
merge_pre_feature = lambda array: array[0] if len(array) == 1 else CompoundLocation(array)

return SeqFeature(
Expand All @@ -40,21 +40,23 @@ def merge(self, feature, receiver):
"""
def process(self, app, caller_mode, key_handle, calls:list=[], target=None):
try:
feature = self.feature_initialize(
app.handles[key_handle].loc[(target[0], f"{target[1]}-mRNA-1", "CDS"),:].reset_index(),
app.metadata)
pre_feature = app.handles[key_handle].loc[(target[0], f"{target[1]}-mRNA-1:cds", "CDS"),:]
feature = self.feature_initialize(pre_feature, app.metadata)
feature.qualifiers["gene"] = target[1]
except KeyError:
return None

feature.qualifiers["gene"] = target[1]
receiver = self.callbacks(
app,
calls,
(target[0], f"{target[1]}-mRNA-1", "CDS"))


try:
receiver = self.callbacks(
app,
calls,
(target[0], f"{target[1]}-mRNA-1", "CDS"))
except KeyError:
receiver = []

return self.merge(feature, receiver)

"""
"""
def required_metadata_check(self, app, keys:list=[]):
return super().required_metadata_check(app, ["transl_table"])
return super().required_metadata_check(app, ["transl_table"])
39 changes: 19 additions & 20 deletions Plugins/read_gff_maker_exon.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#read_gff_maker_exon.py
#Plugins/read_gff_maker_exon.py

import pandas as pd
import re

from Plugins.__read_gff_maker__ import __ReadGFFMaker__
from Bio.SeqFeature import SeqFeature, FeatureLocation, CompoundLocation
Expand All @@ -13,29 +12,29 @@ class Plugin(__ReadGFFMaker__):
"""
def feature_initialize(self, pre_feature, metadata):
return SeqFeature(
FeatureLocation(int(pre_feature["start"]), int(pre_feature["stop"]), (1,-1)[pre_feature["strand"] == "-"]),
FeatureLocation(int(pre_feature["start"]),
int(pre_feature["end"]),
(1,-1)[pre_feature["strand"] == "-"]),
type="exon",
qualifiers={})

"""
"""
def multi_feature_initialize(self, pre_multi_feature, metadata):
for _, element in pre_multi_feature:
yield self.feature_initialize(element, metadata)


"""
"""
def process(self, app, caller_mode, key_handle, calls:list=[], target=None):
try:
feature = self.multi_feature_initialize(
app.handles[key_handle].loc[(target, slice(None), "exon"),:].reset_index().iterrows(),
app.metadata)
multi_pre_feature = app.handles[key_handle].loc[(target, slice(None), "exon"),:].iterrows()
except KeyError:
return None

receiver = self.callbacks(
app,
calls,
target)
return self.merge(feature, receiver)
multi_pre_feature = []

for _, pre_feature in multi_pre_feature:
feature = self.feature_initialize(pre_feature, app.metadata)

try:
receiver = self.callbacks(
app,
calls,
target)
except KeyError:
receiver = []

yield self.merge(feature, receiver)
35 changes: 22 additions & 13 deletions Plugins/read_gff_maker_gene.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#read_gff_maker_gene.py
#Plugins/read_gff_maker_gene.py

import pandas as pd
import itertools
from Plugins.__read_gff_maker__ import __ReadGFFMaker__
from Bio.SeqFeature import SeqFeature, FeatureLocation, CompoundLocation

Expand All @@ -10,7 +9,9 @@ class Plugin(__ReadGFFMaker__):
"""
def feature_initialize(self, pre_feature, metadata):
return SeqFeature(
FeatureLocation(int(pre_feature["start"]), int(pre_feature["stop"]), (1,-1)[pre_feature["strand"] == "-"]),
FeatureLocation(int(pre_feature["start"]),
int(pre_feature["end"]),
(1,-1)[pre_feature["strand"] == "-"]),
type="gene",
qualifiers={
"gene":None,
Expand All @@ -27,13 +28,21 @@ def merge(self, feature, receiver):
"""
"""
def process(self, app, caller_mode, key_handle, calls:list=[], target=None):
feature = self.feature_initialize(
app.handles[key_handle].loc[(target[0], target[1], "gene"),:].reset_index().iloc[0,:],
app.metadata)
feature.qualifiers["gene"]=target[1]
receiver = self.callbacks(
app,
calls,
(target[0], f"{target[1]}-mRNA-1", "gene"))

return self.merge(feature, receiver)
try:
pre_feature = app.handles[key_handle].loc[(target[0], target[1], "gene"),:].iloc[0,:]
feature = self.feature_initialize(
pre_feature,
app.metadata)
feature.qualifiers["gene"] = target[1]
except KeyError:
return None

try:
receiver = self.callbacks(
app,
calls,
(target[0], f"{target[1]}-mRNA-1", "gene"))
except KeyError:
receiver = []

return self.merge(feature, receiver)
43 changes: 20 additions & 23 deletions Plugins/read_gff_maker_mRNA.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#read_gff_maker_mRNA.py
#Plugins/read_gff_maker_mRNA.py

import pandas as pd
from Plugins.__read_gff_maker__ import __ReadGFFMaker__
Expand All @@ -10,38 +10,35 @@ class Plugin(__ReadGFFMaker__):
"""
def feature_initialize(self, pre_feature, metadata):
refactor_pre_feature = lambda element: FeatureLocation(
int(element[0]),
int(element[1]),
(1,-1)[element[2] == "-"]
)
int(element["start"]),
int(element["end"]),
(1,-1)[element["strand"] == "-"])
merge_pre_feature = lambda array: array[0] if len(array) == 1 else CompoundLocation(array)

return SeqFeature(
merge_pre_feature(
pre_feature.apply(refactor_pre_feature, axis=1)
),
merge_pre_feature(pre_feature.apply(refactor_pre_feature, axis=1)),
type="mRNA",
qualifiers={
"gene":None
}
)
"gene":None})

"""
"""
def process(self, app, caller_mode, key_handle, calls:list=[], target=None):
try:
pre_feature = app.handles[key_handle].loc[(target[0], f"{target[1]}-mRNA-1:cds", "CDS"),:]
feature = self.feature_initialize(
app.handles[key_handle].loc[(target[0], f"{target[1]}-mRNA-1", "CDS"),:].reset_index(),
app.metadata
)
pre_feature,
app.metadata)
feature.qualifiers["gene"] = target[1]
except KeyError:
return None

feature.qualifiers["gene"]=target[1]
receiver = self.callbacks(
app,
calls,
(target[0], f"{target[1]}-mRNA-1", "mRNA")
)

return self.merge(feature, receiver)

try:
receiver = self.callbacks(
app,
calls,
(target[0], f"{target[1]}-mRNA-1", "mRNA"))
except KeyError:
receiver = []

return self.merge(feature, receiver)
35 changes: 20 additions & 15 deletions Plugins/read_gff_maker_misc_feature.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#read_gff_maker_misc_feature.py
#Plugins/read_gff_maker_misc_feature.py

import pandas as pd
import itertools
from Plugins.__read_gff_maker__ import __ReadGFFMaker__
from Bio.SeqFeature import SeqFeature, FeatureLocation, CompoundLocation

Expand All @@ -10,23 +9,29 @@ class Plugin(__ReadGFFMaker__):
"""
def feature_initialize(self, pre_feature, metadata):
return SeqFeature(
FeatureLocation(int(pre_feature["start"]), int(pre_feature["stop"]), (1,-1)[pre_feature["strand"] == "-"]),
FeatureLocation(int(pre_feature["start"]),
int(pre_feature["end"]),
(1,-1)[pre_feature["strand"] == "-"]),
type="misc_feature",
qualifiers={
#"gene":None,
"note":list()})

"""
"""
def process(self, app, caller_mode, key_handle, calls:list=[], target=None):
feature = self.feature_initialize(
app.handles[key_handle].loc[(target[0], target[1], "gene"),:].reset_index().iloc[0,:],
app.metadata)
feature.qualifiers["note"].append(target[1])
#feature.qualifiers["gene"]=target[1]
receiver = self.callbacks(
app,
calls,
(target[0], f"{target[1]}-mRNA-1", "misc_feature"))

return self.merge(feature, receiver)
try:
pre_feature = app.handles[key_handle].loc[(target[0], target[1], "gene"),:].iloc[0,:]
feature = self.feature_initialize(pre_feature, app.metadata)
feature.qualifiers["note"].append(target[1])
except KeyError:
return None

try:
receiver = self.callbacks(
app,
calls,
(target[0], f"{target[1]}-mRNA-1", "misc_feature"))
except KeyError:
receiver = []

return self.merge(feature, receiver)
Loading