Question: Biopython not installed correctly error when trying to call python script from R on a MacOS
0
gravatar for devarts
4 weeks ago by
devarts20
devarts20 wrote:

I'm trying to run a script in r that relies on calling a python script. I'm using a Mac with Python 3.8.2 installed and Biopython installed through Python 3, but I keep getting the following error. I've uninstalled and reinstalled Python 3 and Biopython, but continue to get the following error. "BioPython not installed correctly (see http://biopython.org)"

Does anyone have any ideas about what is going on and how to resolve it? The key part of the script and where the problem is seems to be this.

  cmnd<-paste0('./anaconda3/envs/python3.8.2/bin/python3.8 ','"', pfile, '"'," -f ", '"', source_file, '"', "  ", '-m simple -M reduced_alphabet_2 -k 10 -o ', '"', dest_file, '"')
  cat(cmnd)
  system(cmnd)

The whole script chunk is as follows.

kGenFasta <- function(i) {
#for(i in 1:192){
  pfile<-"./SIEVE-Ub-master/KmerFeatures.py"
  #source_file<-paste0("/Applications/kayes/tailocin\ work/S\ tailocin/tailorcinData/",i,".fa")

  source_file<-paste0("./PHASTERzero_cleaned_proteins/X_cleaned_files/",i,".fasta")


  if (file.exists(source_file)){
    print(i)

  #dest_file<-paste0("/Applications/kayes/tailocin\ work/J\ work/tailocin/red_0/kmer_",i,".csv")
  dest_file<-paste0("./PHASTER_zero_proteins/PHASTERzero_cleaned_proteins/X_cleaned_files/red_2/kmer_",i,".csv")




  cmnd<-paste0('/Users/evar698/anaconda3/envs/python3.8.2/bin/python3.8 ','"', pfile, '"'," -f ", '"', source_file, '"', "  ", '-m simple -M reduced_alphabet_2 -k 10 -o ', '"', dest_file, '"')
  cat(cmnd)
  system(cmnd)


}
}

#library(lme4)
core<-detectCores()-2
core
#set.seed( 123, kind = "L'Ecuyer-CMRG" )
tmxList <- mclapply(1:77, kGenFasta, mc.cores = core)
biopython • 164 views
ADD COMMENTlink modified 4 weeks ago • written 4 weeks ago by devarts20

What happens if you try to invoke a dummy python command (so, not Biopython)? e.g. have R call a script which just prints out some version numbers or writes a dummy file.

ADD REPLYlink written 4 weeks ago by Joe18k

Dummy Python commands work. What I found is that parts of the Biopython that was being called within the python script, that was being called, were deprecated. Changing those, made it work.

ADD REPLYlink written 4 weeks ago by devarts20
2
gravatar for devarts
4 weeks ago by
devarts20
devarts20 wrote:

What I found is that parts of the Biopython that was being called within the python script, that was being called, were deprecated. Changing those, made it work.

ADD COMMENTlink written 4 weeks ago by devarts20
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1974 users visited in the last hour