mflamand / Bullseye

Bullseye analysis pipeline for DART-seq analysis
MIT License
12 stars 4 forks source link

Can't use parseBAM.pl for some reason #2

Closed dorigabay closed 1 year ago

dorigabay commented 2 years ago

Hello, I have been trying to use the code, and couldn't apply it on the example.

it returned:

(Bullseye) [dorg@epitrans Code]$ perl parseBAM.pl --input file.bam --output output.matrix --cpu 4 --minCoverage 10 --removeDuplicates perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "C.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Missing right curly or square bracket at parseBAM.pl line 511, at end of line syntax error at parseBAM.pl line 511, at EOF Execution of parseBAM.pl aborted due to compilation errors.

Do you know what should be the problem.

mflamand commented 2 years ago

Hello, I apologize, I accidentally deleted a curly bracket in an update late last week. I just fixed it. Let me know if you have any other issues!

This will not remove the setting locale warnings which I believe should be harmless. To fix this, you would need to set a language in in your shell, typically by adding it to your .bashrc or .bash_profile.

dorigabay commented 2 years ago

Great! Thank you so much. Now I have other problem 🙈: First it says that I have v5.24 though it request v5.26 in line 11 (parseBAM.pl), so I changed it and it gives me that error:

(Bullseye) @. Code]$ perl parseBAM.pl --input file.bam --output output.matrix --cpu 4 --minCoverage 10 --removeDuplicates perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "C.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Can't locate MCE/Loop.pm in @INC (you may need to install the MCE::Loop module) @. contains: /apps/RH7U2/gnu/perl/5.24.0/lib/5.24.0/x86_64-linux /apps/RH7U2/gnu/perl/5.24.0/lib/5.24.0 /apps/RH7U2/gnu/perl/5.24.0/lib/site_perl/5.24.0/x86_64-linux /apps/RH7U2/gnu/perl/5.24.0/lib/site_perl/5.24.0 /apps/RH7U2/gnu/perl/5.24.0/lib/site_perl/5.24.0/x86_64-linux /apps/RH7U2/gnu/perl/5.24.0/lib/site_perl/5.24.0 /apps/RH7U2/gnu/perl/5.24.0/lib/5.24.0/x86_64-linux /apps/RH7U2/gnu/perl/5.24.0/lib/5.24.0 .) at parseBAM.pl line 15. BEGIN failed--compilation aborted at parseBAM.pl line 15.

Perhaps it is something with how I installed the package? since I did the exact commands as instructed.

Thanks, Dor

On Mon, 7 Mar 2022 at 16:13, mflamand @.***> wrote:

Hello, I apologize, I accidentally deleted a curly bracket in an update late last week. I just fixed it. Let me know if you have any other issues!

This will not remove the setting locale warnings which I believe should be harmless. To fix this, you would need to set a language in in your shell, typically by adding it to your .bashrc or .bash_profile.

— Reply to this email directly, view it on GitHub https://github.com/mflamand/Bullseye/issues/2#issuecomment-1060730878, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWG4U4VD6MR7B6XQJYZWO6DU6YFKHANCNFSM5QDCSAZQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

mflamand commented 2 years ago

I think perl v5.24 should be fine. This says that the MCE::Loop package is missing. It should have been install with MCE.

did you successfully install the required perl packages by running the following:

cpanm Bio::DB::Fasta cpanm Text::NSP cpanm Array::IntSpan cpanm MCE ?

mflamand commented 2 years ago

I have just a fresh install using conda and the provided .yml file and MCE works with no problems. I do get perl version 5.26.2 though. I think you are using the system version of perl, and not the conda version ( you are getting perl from /apps/RH7U2/gnu/perl/5.24.0/lib/5.24.0)

You could try reloading conda as such : (Bullseye) *@*:~$ conda deactivate (base) *@*: \~$ conda activate Bullseye

(Bullseye) *@*:\~$ which perl /home/***/miniconda3/envs/Bullseye/bin/perl

you should be able to see that you are running perl from the miniconda path, not the system path

dorigabay commented 2 years ago

Hi again, thank you very much. I think that I did activate conda, but after I uninstall and reinstall the package it's now working. I did manage to use the command parseBAM.pl but now I struggle when using Find_edit_site.pl. This is how I command it : perl ~/scripts/Bullseye/Code/Find_edit_site.pl --annotationFile ~/DART-project/DART_firstExp_rawdata/bed/geneAnnot_hg19_canonical.bed --EditedMatrix SRR9940470.matrix.gz --controlMatrix SRR9940477.matrix.gz --minEdit 5 --maxEdit 90 --editFoldThreshold 1.5 --MinEditSites 3 --cpu 4 --outfile SRR9940470.bed --fallback /home/labs/schwartzlab/dorg/genomes/hg19/AllHumanChr.fa --verbose

and in turn I get multiple warnings of the kind: Argument "+" isn't numeric in subtraction (-) at /home/labs/schwartzlab/dorg/scripts/Bullseye/Code/Find_edit_site.pl line 245, <$annotation_handle> line 27901. Argument "-" isn't numeric in subtraction (-) at /home/labs/schwartzlab/dorg/scripts/Bullseye/Code/Find_edit_site.pl line 245, <$annotation_handle> line 27901. Argument "+" isn't numeric in subtraction (-) at /home/labs/schwartzlab/dorg/scripts/Bullseye/Code/Find_edit_site.pl line 245, <$annotation_handle> line 27901. and an empty bed file.

I guess there's some problem with the gene annotation bed file that I gave, though I can't understand what the exact problem.

If you could help me with that it would be great!

Best regards, Dor

On Mon, 7 Mar 2022 at 17:11, mflamand @.***> wrote:

I have just a fresh install using conda and the provided .yml file and MCE works with no problems. I do get perl version 5.26.2 though. I think you are using the system version of perl, and not the conda version ( you are getting perl from /apps/RH7U2/gnu/perl/5.24.0/lib/5.24.0)

You could try reloading conda as such : (Bullseye) @:~$ conda deactivate (base) @: ~$ conda activate Bullseye

(Bullseye) @:~$ which perl /home/***/miniconda3/envs/Bullseye/bin/perl

you should be able to see that you are running perl from the miniconda path, not the system path

— Reply to this email directly, view it on GitHub https://github.com/mflamand/Bullseye/issues/2#issuecomment-1060792571, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWG4U4SBAFS7SUVMB2TPY7TU6YMCBANCNFSM5QDCSAZQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

mflamand commented 2 years ago

Hi Dor,

The way it is currently setup, the annotation file provided with the --annotationFile needs to be a refFlat file. I will soon add more details on this in the readme. This can be obtained from UCSC table browser :

image

Alternative 1: if you have a GTF file, you can convert it using the UCSC utilities ("kentUtils") which can be found here: http://hgdownload.soe.ucsc.edu/admin/exe/.

Alternative 2: If you have a .bed6 file (as I can guess from your command line), you can replace the --annotationFile by --KnownSites. However, using this option will not keep track of the relative position of the site (5'UTR/CDR/3'UTR) and will not allow to look for sites in introns or extended 3'UTRs (unless these are also found in the bed file of course).

dorigabay commented 2 years ago

Again thank you! I downloaded a refFlat file. I'm still facing a problem, but I'm not sure it is something you can fix:

[E::hts_itr_next] Failed to seek to offset 9609490977674: Cannot allocate memory Reading "SRR9940470.matrix.gz" failed: Cannot allocate memory

Do you think it's related to our systems here? because I never received such an error.

Thanks, Dor

On Thu, 10 Mar 2022 at 15:55, mflamand @.***> wrote:

Hi Dor,

The way it is currently setup, the annotation file provided with the --annotationFile needs to be a refFlat file. I will soon add more details on this in the readme. This can be obtained from UCSC table browser :

[image: image] https://user-images.githubusercontent.com/47067352/157674603-704683c9-20b8-4b38-ac54-9a19dc6588db.png

Alternative 1: if you have a GTF file, you can convert it using the UCSC utilities ("kentUtils") which can be found here: http://hgdownload.soe.ucsc.edu/admin/exe/.

Alternative 2: If you have a .bed6 file (as I can guess from your command line), you can replace the --annotationFile by --KnownSites. However, using this option will not keep track of the relative position of the site (5'UTR/CDR/3'UTR) and will not allow to look for sites in introns or extended 3'UTRs (unless these are also found in the bed file of course).

— Reply to this email directly, view it on GitHub https://github.com/mflamand/Bullseye/issues/2#issuecomment-1064089349, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWG4U4SCT5EXNEKN4J24ZDTU7H5OBANCNFSM5QDCSAZQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

mflamand commented 2 years ago

Hi Dor,

I have never seen this error before. Can you try reading the SRR994070.matrix.gz file directly with tabix to make sure the file is not corrupted? for example to get the reads on chr10: (replace with chr10 with 10 if your alignment was done on a fasta without "chr")

tabix SRR994070.matrix.gz chr10 | head

The error seems to come from HTSLIB. With the version installed by conda, I have not seen this error. could you verify that you are using the conda version:

which tabix

should return the path to the conda directory

tabix --version

will tell you which htslib version is installed

I don't know how much memory you are providing when running the script, but I would make sure to provide at least 2GB per CPU core.

Please let me know if tabix is running correctly.