Closed hughit32 closed 10 months ago
I think your bind-mount option needs a bit of work. This is the code that's failing for you. It's just looking to see if the path to NR exists.
def check_dmd_valid(self):
#if it's sufficiently big
dir_name = os.path.dirname(self.Prot_DB)
basename = os.path.basename(self.Prot_DB)
print("dir name:", dir_name)
file_name = basename.split(".")[0]
print("file name:", file_name)#, "extension:", extension)
print(self.Prot_DB)
if not(os.path.exists(self.Prot_DB)):
sys.exit("file does not exists")
else:
print(dt.today(), self.Prot_DB, "exists")
dmd_index_path = os.path.join(dir_name, file_name + ".dmnd")
db_size = os.path.getsize(self.Prot_DB)
if(os.path.exists(dmd_index_path)):
if(os.path.getsize(dmd_index_path) >= db_size * 0.9):
print(dt.today(), "DMD index is ok")
OK, thanks for the reply. I figured out my mistake: I was using a path related to my host machine, for my database_path
variable in the Config.ini file, rather than using the target address set up with the -v parameter.
So by changing database_path
from /home/mitc633/metaproDB
to /temp/metaproDB
in Config.ini, and moving my database files accordingly, I got it to work.
thank you for your help!
The download script seems to run fine, but when I run metapro with e.g.
docker run -it -v /home/mitc633/metaproStuff:/temp parkinsonlab/metapro python3 /pipeline/MetaPro.py -c /temp/Config.ini -s /temp/WGGTrinityFiltered.fasta -o /temp/testMetaproOutput
I get an error, here is the output:
Seems like it's not recognizing the nr file, but it's there. The last time I downloaded the DB, I used the script outside of docker, but I've tried it with docker as well. I used the Config.ini file that you provide, just substituting
/home/mitc633/metaproDB
for the database_path parameter. When I ran the downloader with docker, I used /metaproDB as the file location, and then substituted that for the database_path parameter. It seems like it must be something about the database_path that I'm using in the Config.ini file, but I can't think what I'm doing wrong. I'm not very familiar with docker, so I'm probably doing something very dumb. Thanks!