jtamames / SqueezeMeta

A complete pipeline for metagenomic analysis
GNU General Public License v3.0
346 stars 81 forks source link

erro in step1 coassembly~ #785

Closed Panda-smile closed 5 months ago

Panda-smile commented 5 months ago
image image

Hello Professor, I have five samples here that have been individually spliced. I want to mix and splice them again, but I only have spliced data in FASTA format. I'm not sure if the 'extassembly' parameter is set incorrectly. Shotgun_samplefiles1.txt squeezemeta1-slurmtxt.txt

Panda-smile commented 5 months ago

/public/home/zhanglj/miniconda3/envs/squeezeMeta/SqueezeMeta/scripts/SqueezeMeta.pl -m coassembly -p shotgun1 -s Shotgun_samplefiles1.txt -f /public/home/zhanglj/Squeezemeta_20240108/assmblydata/ --euk -taxbinmode s+c -t 64

jtamames commented 5 months ago

Hello Looks good to me.. are you running in any error?

Panda-smile commented 5 months ago

你好, 我觉得不错..你运行时有什么错误吗?

Thank you for your response, Professor. Here is the error message I encountered. syslog.txt

step1:I have two sets of parallel samples. In each set, there are two files, such as FQ11 and FQ12 in the first set (FQ1 group). Initially, I merge the data from these two individual files within each set, and then I use the resulting combined data as input for further analysis.

step2: run pipline

jtamames commented 5 months ago

I don´t know if I understand correctly what you want to do. Do you want to analyze your five samples separately? If so, then specify mode sequential (-m sequential) and try again, it should work. Best, J

Panda-smile commented 5 months ago

Professor, i want to five smaples mix as one sample to analysis (coassembly)

jtamames commented 5 months ago

Then just run the coassembly, but don´t specify the extassembly in the samples file

Panda-smile commented 5 months ago

Thank you very much for your guidance. I understand now, and I will continue with my attempts accordingly.

Panda-smile commented 5 months ago

STEP10 -> 10.mapsamples.pl erro syslog.txt

Hello professor, I was able to run it normally under your guidance yesterday, but today I found an error in step 10 stopping;

[19 hours, 13 minutes, 34 seconds]: STEP10 -> 10.mapsamples.pl Creating Bowtie reference: python3 /mnt/hpc/home/zhanglj/miniconda3/envs/squeezeMeta/SqueezeMeta/bin/bowtie2/bowtie2-build --quiet /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/results/01.shotgun1.fasta /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/shotgun1.bowtie Getting raw reads for FQ1: cp /public/home/zhanglj/Squeezemeta_20240108/assmblydata//FQ1.fasta /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/temp/shotgun1.FQ1.current_1; Aligning with bowtie: /mnt/hpc/home/zhanglj/miniconda3/envs/squeezeMeta/SqueezeMeta/bin/bowtie2/bowtie2 -x /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/shotgun1.bowtie -f -U /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/temp/shotgun1.FQ1.current_1 --quiet -p 64 -S /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/bam/shotgun1.FQ1.sam --very-sensitive-local Stopping in STEP10 -> 10.mapsamples.pl. Program finished abnormally

jtamames commented 5 months ago

Try running this command and see if it works:

/mnt/hpc/home/zhanglj/miniconda3/envs/squeezeMeta/SqueezeMeta/bin/bowtie2/bowtie2 -x /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/shotgun1.bowtie -f /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/temp/shotgun1.FQ1.current_1 -U /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/temp/shotgun1.FQ1.current_1 --quiet -p 64 -S /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/bam/shotgun1.FQ1.sam --very-sensitive-local

Panda-smile commented 5 months ago

no results。

image
jtamames commented 5 months ago

The command is a single line. You typed it as several separated lines

Panda-smile commented 5 months ago
image
Panda-smile commented 5 months ago

(squeezeMeta) [zhanglj@admin Squeezemeta_20240108]$ /mnt/hpc/home/zhanglj/miniconda3/envs/squeezeMeta/SqueezeMeta/bin/bowtie2/bowtie2 -x /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/shotgun1.bowtie -U /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/temp/shotgun1.FQ1.current_1 --quiet -p 64 -S /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/bam/shotgun1.FQ1.sam --very-sensitive-local

Error: reads file does not look like a FASTQ file terminate called after throwing an instance of 'int' (ERR): bowtie2-align died with signal 6 (ABRT) (core dumped)

Panda-smile commented 5 months ago

该命令是一行。您将其输入为几行分隔的行

Hello professor, it seems that there is a problem with my input file. Is it because I use the spliced (fasta file) as input? In this case, how should I modify it?

jtamames commented 5 months ago

This is because you are using a single unpaired fasta file, which is rather unusual. Try this:

/mnt/hpc/home/zhanglj/miniconda3/envs/squeezeMeta/SqueezeMeta/bin/bowtie2/bowtie2 -x /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/shotgun1.bowtie -f /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/temp/shotgun1.FQ1.current_1 --quiet -p 64 -S /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/bam/shotgun1.FQ1.sam --very-sensitive-local

in a single line, as above. This should produce a /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/bam/shotgun1.FQ1.sam file.

Panda-smile commented 5 months ago

这是因为您使用的是单个未配对的 fasta 文件,这是相当不寻常的。尝试这个:

/mnt/hpc/home/zhanglj/miniconda3/envs/squeezeMeta/SqueezeMeta/bin/bowtie2/bowtie2 -x /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/shotgun1.bowtie -f /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/temp/shotgun1.FQ1.current_1 --quiet -p 64 -S /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/bam/shotgun1.FQ1.sam --very-sensitive-local

在一行中,如上所述。这应该会生成一个/mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/bam/shotgun1.FQ1.sam文件。

Yes, it can run when I change the parameter to -f. How should I modify it in script.pl? (The reason is: there was insufficient memory when coassembly splicing the 100G original data; I could only splice a single piece first and then use it as input to continue the mixed assembly)

Panda-smile commented 5 months ago

meighit results is a (.fasta )type, so i used the results as input.

jtamames commented 5 months ago

Ok, then do the following: 1) Locate where your SqueezeMeta is installed. You can know this using the command conda info --envs. Look for "SqueezeMeta". The listed path is where all the scripts from SqueezeMeta are stored. 2) Edit the script 10.mapsamples.pl in the scripts directory. Look for the following lines (lines 242-243 in the latest version)

if(-e "$tempdir/$par2name") { $command="$bowtie2_x_soft -x $bowtieref $formatoption -1 $tempdir/$par1name -2 $tempdir/$par2name --quiet -p $numthreads -S $samfile $mapping_options"; }
else { $command="$bowtie2_x_soft -x $bowtieref $formatoption -U $tempdir/$par1name  --quiet -p $numthreads -S $samfile $mapping_options"; } }

3) Modify these in this way:

if(-e "$tempdir/$par2name") { $command="$bowtie2_x_soft -x $bowtieref $formatoption -1 $tempdir/$par1name -2 $tempdir/$par2name --quiet -p $numthreads -S $samfile $mapping_options"; }
elsif($formatseq eq "fasta")  { $command="$bowtie2_x_soft -x $bowtieref $formatoption $tempdir/$par1name  --quiet -p $numthreads -S $samfile $mapping_options"; } 
else { $command="$bowtie2_x_soft -x $bowtieref $formatoption -U $tempdir/$par1name  --quiet -p $numthreads -S $samfile $mapping_options"; } }

4) Restart SqueezeMeta from step 10: /public/home/zhanglj/miniconda3/envs/squeezeMeta/SqueezeMeta/scripts/SqueezeMeta.pl -p shotgun1 --restart -step 10

This should do it

Panda-smile commented 5 months ago

Thank you very much for the professor's guidance. I have modified it and it is running now.

jtamames commented 5 months ago

Nice to hear. Closing issue

Panda-smile commented 5 months ago

I'm very sorry, Professor, it didn't work after re-running~ Is it because of memory? (Single node is 520G, I set it to 480G memory) Or is it because of other reasons?

squeezemeta1.txt syslog.txt 10.mapsamples.txt slurm-116892.txt

image

jtamames commented 5 months ago

According to the picture, I see that you didn´t do the changes that I suggested. Please follow the instructions above and try again.

Panda-smile commented 5 months ago

10.mapsamples.txt image I just sent the wrong screenshot. Sorry.

jtamames commented 5 months ago

What happens if you run: /mnt/hpc/home/zhanglj/miniconda3/envs/squeezeMeta/SqueezeMeta/bin/bowtie2/bowtie2 -x /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/shotgun1.bowtie -f /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/temp/shotgun1.FQ1.current_1 -p 64 -S /mnt/hpc/home/zhanglj/Squeezemeta_20240108/shotgun1/data/bam/shotgun1.FQ1.sam --very-sensitive-local

Panda-smile commented 5 months ago

(base) [zhanglj@admin Squeezemeta_20240108]$ cat slurm-116895.out terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc

image

slurm.out display as above;but jobs still running,

ending sliurm.out results : (base) [zhanglj@admin Squeezemeta_20240108]$ cat slurm-116897.out Error: Out of memory allocating 2147483648 __m128i's for DP matrix: 'std::bad_alloc' Tried to allocate DP matrix with 10498 columns, 30258 vectors per column, and and 4 vectors per cell terminate called after throwing an instance of 'std::exception' what(): std::exception (ERR): bowtie2-align died with signal 6 (ABRT) (core dumped)

Tried lowering the threads to 4 or 32 and still can't run(inital -t 64)