Package: pssmpro
TutorialGenerating PSSM profilesTo generate PSSM profiles for protein sequences, the helper functioncreate_pssm_profilecan be used. However, before using the function, the steps mentioned below must be followed.Download a blast database: For eg. uniref50 database can be downloaded using this linkhttp://ftp.ebi.ac.uk/pub/databases/uniprot/uniref/uniref50/Download blast executables using this link preferably version 2.9.0. The psiblast program used to create the PSSM profiles will be downloaded as well along with makeblastdb program to be used in the next stephttps://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/Make a local blast database using uniref50 fasta file and the blast executable (makeblastdb). The following command can be used for that purpose.$makeblastdb -in uniref50.fasta -dbtype prot -out uniref50For further information, refer here:https://quickgrid.blogspot.com/2018/10/Python-Sub-Process-Local-Psi-Blast-PSSM-Generation-from-FASTA-in-Directory-using-Uniref50-Database-in-Pycharm.htmlOnce the above steps have been followed and there is an indexed blast database on your local machine, thecreate_pssm_profilefunction can be used. It requires the following arguments:A comma separated protein sequence file where each line contains the name of the protein followed by its sequence separated by a comma.The output directory where the user would like to store the pssm profiles.The path of the psiblast program executable downloaded in step 2 described above.The path of the indexed blast database directory created in step 3 described above.# Usage examplefrompssmpro.featuresimportcreate_pssm_profile# The comma separated protein sequence fileprotein_sequence_file="./pssmpro_test_data/test_seq.csv"# Output directory where the pssm profiles will be storedoutput_dir="./pssmpro_test_data/pssm_profiles/"# the path to the psiblast program executable downloaded as part of the blast program suitepsiblast_executable_path="/opt/aci/sw/ncbi-rmblastn/2.9/0_gcc-8.3.1-bxy/bin/psiblast"# prefix of the indexed blast database files created using makeblastdbblast_db_prefix="./pssmpro_test_data/uniref50/uniref50db"# number of cores to be used while creating the pssm profilesnumber_of_cores=8create_pssm_profile(protein_sequence_file,output_dir,psiblast_executable_path,blast_db_prefix,number_of_cores)Generating PSSM featurespssmprocontains 21 features which are capable of numerically encoding protein sequences using their pssm profiles. They are:aac_pssmaadp_pssmaatpab_pssmd_fpssmdp_pssmdpc_pssmedpeedpk_separated_bigrams_pssmmedppse_pssmpssm_acpssm_ccpssm_compositionrpm_pssmrpssms_fpssmsmoothed_pssmtpc_pssmtri_gram_pssmFor a detailed description of the features, refer to the Supplementary Documents of the paper (link to be added).
Other protein sequence encodingNB:pssmprois based on POSSUMlink. The code
has been adapted to work with python version 3 and above.similar modules to encode protein sequencesOther modules that can be used to generate numerical encoding of protein sequences are:ngramprolinkifeatprolink# Usage example# To create any one of the 21 features one can use the "get_feature" functionpssm_dir_path="./pssmpro_test_data/pssm_profiles/"feature_type="aac_pssm"output_dir_path="./pssmpro_test_data/features/"get_feature(pssm_dir_path,feature_type,output_dir_path)# To create all 21 features at once, one can use the "get_all_features" functionget_all_features(pssm_dir_path,output_dit_path)