mhalushka / miRge3.0

Comprehensive analysis of small RNA sequencing data
MIT License
28 stars 11 forks source link

miRge3.0 not accepting the path to mirge libraries #76

Closed imranjesar closed 1 year ago

imranjesar commented 1 year ago

I am using mirge3.0 for the first time i have this bizzare problem that my code is not accepting the path to the mirge libraries. ( I have tried passing the absolute path but to no avail) my script is as follows miRge3.0 -s MSC_CR1.fq.gz MSC_CR2.fq.gz MSC_Exo1.fq.gz MSC_Exo2.fq.gz -lib human -on human -db mirgenedb -gff -nmir -trf -ai -cpu 12 -a illumina

/home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/Bio/pairwise2.py:278: BiopythonDeprecationWarning: Bio.pairwise2 has been deprecated, and we intend to remove it in a future release of Biopython. As an alternative, please consider using Bio.Align.PairwiseAligner as a replacement, and contact the Biopython developers if you still need the Bio.pairwise2 module. warnings.warn( bowtie version: 1.3.1 cutadapt version: 4.4 Samtools version: 1.6 RNAfold version: 2.6.2

ERROR: The path to miRge libraries is incorrect or does not exist!

please tell me what i am doing wrong

Glfrey commented 1 year ago

Hi @imranjesar,

I'm not the developer of miRge, but I think I can see your problem. So the miRge code looks for the "human" part of your directory so you just need to provide the address to the directory structure above the "human" part. So for example, if my full directory structure was:

/home/gill/mirge3lib/human

You need to give mirge the following address in the "lib" parameter:

/home/gill/mirge3lib/

MiRge appends the "human" part from the "on" parameter to the directory provided in the "lib" parameter.

arunhpatil commented 1 year ago

HI @imranjesar,

As @Glfrey, mentioned you need to create a folder mirge3lib and move the human libraries to that folder and refer mirge3lib to -lib parameter. Besides this, the input files should be seperated with commas and not space. Please let us know if you come across any queries/issues.

Thank you @Glfrey, for responding to @imranjesar.

Arun.

imranjesar commented 1 year ago

Thankyou @Glfrey and @arunhpatil for your response I have 3 more queries, and i will appreciate your help with that

  1. After following your instructions, my analysis was complete, but i got multiple warning during predicting novel miRNAs, warning are as as below

Performing prediction of novel miRNAs... Start to predict /home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/sklearn/base.py:347: InconsistentVersionWarning: Trying to unpickle estimator StandardScaler from version 0.23.1 when using version 1.3.0. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to: https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations warnings.warn( /home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/sklearn/base.py:347: InconsistentVersionWarning: Trying to unpickle estimator SVC from version 0.23.1 when using version 1.3.0. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to: https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations warnings.warn( /home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/sklearn/base.py:347: InconsistentVersionWarning: Trying to unpickle estimator Pipeline from version 0.23.1 when using version 1.3.0. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to: https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations warnings.warn( /home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/sklearn/base.py:347: InconsistentVersionWarning: Trying to unpickle estimator StandardScaler from version 0.23.1 when using version 1.3.0. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to: https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations warnings.warn( /home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/sklearn/base.py:347: InconsistentVersionWarning: Trying to unpickle estimator SVC from version 0.23.1 when using version 1.3.0. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to: https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations warnings.warn( /home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/sklearn/base.py:347: InconsistentVersionWarning: Trying to unpickle estimator Pipeline from version 0.23.1 when using version 1.3.0. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to: https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations warnings.warn( /home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/sklearn/base.py:347: InconsistentVersionWarning: Trying to unpickle estimator StandardScaler from version 0.23.1 when using version 1.3.0. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to: https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations warnings.warn( /home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/sklearn/base.py:347: InconsistentVersionWarning: Trying to unpickle estimator SVC from version 0.23.1 when using version 1.3.0. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to: https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations warnings.warn( /home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/sklearn/base.py:347: InconsistentVersionWarning: Trying to unpickle estimator Pipeline from version 0.23.1 when using version 1.3.0. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to: https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations warnings.warn( /home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/sklearn/base.py:347: InconsistentVersionWarning: Trying to unpickle estimator StandardScaler from version 0.23.1 when using version 1.3.0. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to: https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations warnings.warn( /home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/sklearn/base.py:347: InconsistentVersionWarning: Trying to unpickle estimator SVC from version 0.23.1 when using version 1.3.0. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to: https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations warnings.warn( /home/imran/anaconda3/envs/mirge3/lib/python3.8/site-packages/sklearn/base.py:347: InconsistentVersionWarning: Trying to unpickle estimator Pipeline from version 0.23.1 when using version 1.3.0. This might lead to breaking code or invalid results. Use at your own risk. For more info please refer to: https://scikit-learn.org/stable/model_persistence.html#security-maintainability-limitations warnings.warn(

Does this mean i need to update scikit-learn, or is it any other problem, what kind of impact it will have on my results

  1. Can i take the counts file generated by miRge3.0 to the R for downstream analysis, such as DEG, and GO analysis

After analysis i got following result, does this mean my sample contains no miRNAs or it was not mapped properly Screenshot from 2023-07-07 09-53-30

  1. I am working with paired end reads, but from results i can see that it is taking each file as a sample, but it should take Read 1 and Read 2 as 1 sample. is there any separate command for paired end reads that i am missing?

Thanks

mhalushka commented 1 year ago

I will let @arunhpatil answer the warnings part, but I think it ran properly. However, based on the remaining reads, it appears you did not remove the adaptors correctly. I do not know what your adaptors are, but if you do a grep search for a common miRNA (e.g. miR-21-5p) on one of your fastq files, you should be able to determine what sequences are in front of, or behind the miRNA. You will need to remove those adaptors, which can generally be handled in miRge3.0.

arunhpatil commented 1 year ago

Hi @imranjesar,

The suggestion by @mhalushka regarding the adaptors is important, you can refer to the FAQ about adaptors for more details.

Besides that, miRNAs are short sequences and by convention, single-end sequencing has been the best approach to capture those small RNA reads. However, some experiments do use paired-end sequencing where one end contains the required template (small RNA) and other end is the extension of the adaptor sequences (No small RNA). i.e., the other end is often of no use (usually R2) and if you see 0 miRNAs in one of the ends then it is fine. You can read another FAQ here regarding support to paired-end sequencing.

Regarding the warnings: This is the case when we built a binary file using old version and now trying to read the same file with newer version at your end is causing the warning messages. There is no current fix for this issue, and I believe it should not affect your detections/identifications. You can ignore the warnings for now, we will try to rebuild the database in the future. Off note: if this interests you, I have a material on novel miRNA detection here.

Lastly, yes miRNA results can be further implemented in the downstream analysis in R - DESeq etc. You should use miR.Counts.csv or miR.RPM.csv based on the pipeline and normalization technique you wish to follow.

Please let us know if you need any help with adaptor detection and miRNA annotations. I hope this helps.

Thank you, Arun.

imranjesar commented 1 year ago

Thank you @mhalushka and @arunhpatil for your kind and timely response. your help has been of great support Thanks