diff PDAUG_AA_Property_Based_Peptide_Descriptor/PDAUG_AA_Property_Based_Peptide_Descriptor.py @ 0:93f7668caa55 draft

"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
author jay
date Wed, 28 Oct 2020 02:18:30 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PDAUG_AA_Property_Based_Peptide_Descriptor/PDAUG_AA_Property_Based_Peptide_Descriptor.py	Wed Oct 28 02:18:30 2020 +0000
@@ -0,0 +1,154 @@
+from modlamp.descriptors import *
+import pandas as pd
+import os
+
+
+
+def PepFasta(InFile):
+    file = open(InFile)
+    lines = file.readlines()
+
+    Index = []
+    Peptides = []
+
+    for line in lines:
+        if '>' in line:
+            Index.append(line.strip('\n'))
+        else:
+            Peptides.append(line.strip('\n'))
+    
+    return Peptides, Index
+
+
+def AutoCorrCal(InFile, window, ScaleName, OutFile):
+
+    list_pep_name,_ = PepFasta(InFile)
+
+    AMP = PeptideDescriptor(list_pep_name, ScaleName)
+    AMP.calculate_autocorr(int(window))
+    df = AMP.descriptor
+
+    columns = ["CroAut_"+str(i) for i in range(len(df[0]))]
+    df = pd.DataFrame(df, columns=columns)
+    df.to_csv(OutFile, index=False,sep='\t')
+
+def CrossCorrCal(InFile, window, ScaleName, OutFile):
+
+    list_pep_name,_ = PepFasta(InFile)
+
+    AMP = PeptideDescriptor(list_pep_name, ScaleName)
+    AMP.calculate_crosscorr(int(window))
+    df = AMP.descriptor
+
+    columns = ["CroCor_"+str(i) for i in range(len(df[0]))]
+    df = pd.DataFrame(df, columns=columns)
+    df.to_csv(OutFile, index=False,sep='\t')
+
+def CalculateMovementCal(InFile, window, angle, modality, ScaleName, OutFile):
+
+
+    list_pep_name,_ = PepFasta(InFile)
+
+    AMP = PeptideDescriptor(list_pep_name, ScaleName)
+    AMP.calculate_moment(int(window), int(angle), modality)
+    df = AMP.descriptor
+
+    df = pd.DataFrame(df, columns=['Movement'])
+    df.to_csv(OutFile, index=False,sep='\t')
+
+def CalculateGlobalCal(InFile, WindowSize, modality, ScaleName, OutFile):
+
+    list_pep_name,_ = PepFasta(InFile)
+
+    AMP = PeptideDescriptor(list_pep_name, ScaleName)
+    AMP.calculate_global(int(WindowSize), modality)
+    df = AMP.descriptor
+
+    df = pd.DataFrame(df, columns=['Global'])
+    df.to_csv(OutFile, index=False, sep='\t')
+
+def CalculateProfileCal(InFile, prof_type, WindowSize, ScaleName, OutFile):
+
+    list_pep_name,_ = PepFasta(InFile)
+
+    AMP = PeptideDescriptor(list_pep_name, ScaleName)
+    AMP.calculate_profile(prof_type, int(WindowSize))
+    df = AMP.descriptor
+
+    df = pd.DataFrame(df, columns=['hyPhoPro','hyPhoMov'])
+    df.to_csv(OutFile, index=False, sep='\t')
+
+def CalculateArcCal(InFile, modality, OutFile): 
+
+    list_pep_name,_ = PepFasta(InFile)
+
+    AMP = PeptideDescriptor(list_pep_name, scalename="peparc")
+    AMP.calculate_arc(modality)
+    df =  AMP.descriptor
+
+    columns = ["Arc_"+str(i) for i in range(len(df[0]))]
+    df = pd.DataFrame(df, columns=columns)
+    df.to_csv(OutFile, index=False, sep='\t')
+
+if __name__=="__main__":
+
+    import argparse
+
+    parser = argparse.ArgumentParser(description='Deployment tool')
+    subparsers = parser.add_subparsers()
+
+    Aut = subparsers.add_parser('AutoCorrCal')
+    Aut.add_argument("-i","--InFile", required=True, default=None, help="")
+    Aut.add_argument("-w","--WindowSize", required=False, default=7, help="")
+    Aut.add_argument("-s","--ScaleName", required=False, default="Eisenberg", help="")
+    Aut.add_argument("-o","--OutFile", required=False, default="Descriptor.tsv", help="")
+
+    Cro = subparsers.add_parser('CrossCorrCal')
+    Cro.add_argument("-i","--InFile", required=True, default=None, help="")
+    Cro.add_argument("-w","--WindowSize", required=False, default=7, help="")
+    Cro.add_argument("-s","--ScaleName", required=False, default="Eisenberg", help="")
+    Cro.add_argument("-o","--OutFile", required=False, default="Descriptor.tsv", help="")
+
+    Mov = subparsers.add_parser('CalculateMovement')
+    Mov.add_argument("-i","--InFile", required=True, default=None, help="")
+    Mov.add_argument("-w","--WindowSize", required=False, default=1000, help="")
+    Mov.add_argument("-a","--Angle", required=False, default=100, help="")
+    Mov.add_argument("-m","--Modality", required=False, default="max", help="")
+    Mov.add_argument("-s","--ScaleName", required=False, default="Eisenberg", help="")
+    Mov.add_argument("-o","--OutFile", required=False, default="Descriptor.tsv", help="")
+
+    Glo = subparsers.add_parser('GlobalCal')
+    Glo.add_argument("-i","--InFile", required="", default="", help="")
+    Glo.add_argument("-w","--WindowSize", required=False, default=1000, help="")
+    Glo.add_argument("-m","--Modality", required=False, default="max", help="")
+    Glo.add_argument("-s","--ScaleName", required=False, default="Eisenberg", help="")
+    Glo.add_argument("-o","--OutFile", required=False, default="Descriptor.tsv", help="")
+
+    Pro = subparsers.add_parser('ProfileCal')
+    Pro.add_argument("-i","--InFile", required=True, default=None, help="")
+    Pro.add_argument("-p","--ProfType", required=False, default="text", help="")
+    Pro.add_argument("-w","--WindowSize", required=False, default=7, help="")
+    Pro.add_argument("-s","--ScaleName", required=False, default="Eisenberg", help="")
+    Pro.add_argument("-o","--OutFile", required=False, default="Descriptor.tsv", help="")
+
+    Arc = subparsers.add_parser('ArcCal')
+    Arc.add_argument("-i","--InFile", required=True, default=None, help="")
+    Arc.add_argument("-m","--Modality", required=False, default="max", help="")
+    Arc.add_argument("-o","--OutFile", required=False, default="Descriptor.tsv", help="")
+
+    args = parser.parse_args()
+
+    if sys.argv[1] == 'AutoCorrCal':
+        AutoCorrCal(args.InFile, args.WindowSize, args.ScaleName, args.OutFile)
+    elif sys.argv[1] == 'CrossCorrCal':
+        CrossCorrCal(args.InFile, args.WindowSize, args.ScaleName, args.OutFile)
+    elif sys.argv[1] == 'CalculateMovement':
+        CalculateMovementCal(args.InFile, args.WindowSize, args.Angle, args.Modality, args.ScaleName, args.OutFile)
+    elif sys.argv[1] == 'GlobalCal':
+        CalculateGlobalCal(args.InFile, args.WindowSize, args.Modality, args.ScaleName, args.OutFile)
+    elif sys.argv[1] == 'ProfileCal':
+         CalculateProfileCal(args.InFile, args.ProfType, args.WindowSize, args.ScaleName, args.OutFile)
+    elif sys.argv[1] == 'ArcCal':
+        CalculateArcCal(args.InFile, args.Modality, args.OutFile)
+    else:
+        print ("You entered Wrong Values: ")
\ No newline at end of file