Research Article

microProtein Prediction Program (miP3): A Software for Predicting microProteins and Their Target Transcription Factors

Pseudocode 1

Pseudocode of miP3.
set evalue_all, evalue_small, evalue_reblast, DBD_domains
open transcription_factors as input
small_proteins_database, all_proteins_database, transcription_factors_database initialize BLAST reference databases
putative_miPs new list
for transcription_factor in transcription_factors do
 TF_domains InterproScan(transcription_factor)
 subjects_all   BLAST transcription_factor against all_proteins_database
for subject in subjects_all do
  if length(subject) ≤ 550 and length(subject) ≤ 1.1 length(transcription_factor) and evalue of subject ≤ evalue_all then
   subject_domains InterproScan(subject)
   if subject_domains not in DBD_domains and length(subject_domains) < length(TF_domains)
             and length(intersection(subject_domains with TF_fomains)) ≥ 1 then
    putative_miPs.append(subject)
   end if
  end if
end for
 subjects_small BLAST transcription_factors against small_protein_database
for subject in subjects_small do
  if length(subject) ≤ 1.1 length(transcription_factor) and evalue of subject ≤ evalue_small then
   blast_results BLAST subject against transcription_factors_database
   if transcription_factor in blast_results and evalue of transcription_factor ≤ evalue_reblast then
    subject_domains InterproScan(subject)
    if subject_domains not in DBD_domains and length(subject_domains) < length(TF_domains)
             and length(intersection(subject_domains with TF_fomains)) ≥ 1 then
     putative_miPs.append(subject)
    end if
   end if
  end if
end for
end for
return putative_miPs