bioinformatics - How to get a makefile to run all commands, regardless of targets or dependencies -
I am writing a GNUmakefile to create a workflow to analyze some organic sequence data. The data comes in a format called fastcock, after which many cleaning and analysis tools run. I have added to everything I wrote, which takes me completely before quality control, and after that quality control happens my problem is that I am not sure how to run 'fastqc' commands, Because its target workflow does not have dependency for any other phase.
% _sts_fastqc.html% _sts_fastqc.zip:% _sts.fastq # After the quality control performance, fastqc reads $ ^% _sts.fastq:% _st.fastq # -t with trim quality sickle Reading on the basis of $ ^ income tax illumina -o $ @% _st. Fastq:% _s.fastq # Remove Defective Read Tag Distrast Adapter $ $% _s.fastq:% .fastq # Trim Adapter Skin-A & Lt; Adapter.fa & gt; -O $ @ $ ^% _fastqc.html% _fastqc.zip:% .fastq # Turn on Quality Control before cleaning fastqc $ ^% .fastq:% .sra # Convert .fastq to .sra fastq-dump $ ^ < / Code I believe that by adding these rows at the beginning of your makefile, what are you asking for:
source: = $ (wildcard * .sra) target: = $ (source: .sra = _fastqc.html) $ (source: .sra = _fastqc.zip) \ $ (source: .sar = _sts_fastqc.html) $ (source: .sra = _sts_fastqc.zip) .PHONY: All at: $ (target)
What does this grab is all .sra
Create a list of targets to create files and file by creating the target from the file system, by moving the extension with the strings (note that html
And the zip
target can be produced by the same order, I can have one or the other, but I have decided to decide both, if the rules change and hmtl
and zip
targets sometimes Then it sets a simulated all
target to create all the calculation targets. Here's a makefile that I modified by adding @ echo
That's where I saw that things were fine without running the actual commands in your makefile. You can copy and paste into a file first to check that everything is fine before modifying Makefile before the message with the above lines is:
source: = $ ( Wildcard * .sra) Target: = $ (source: .sra = _fastqc.html) $ (source: .sra = _fastqc.zip) \ $ (source: .sra = _sts_fastqc.html) $ (source: .sra = _sts_fastqc) .zip) .PHONY: All read: Quality control performance after reading $ _sts_fastqc.zip:% _stsfastq ######### _sts.fastq:% _st.fastq #tim Read on quality That's @AkO Sickle-F $ ^ -T Illumina -O $ @% _st.fastq:% _s.fastq # Remove corrupt reads @echo tagdust -s adapter.f $ ^% _s.fastq:% .fastq # trim Adaptor @ Ako 'Skite-A & LT; Adapters. Fa & gt; -O $ @ $ ^ '% _fastqc.html% _fastqc.zip:% .fastq # reads @echo fastqc $ ^% of quality control before cleaning .fastq:% .sra # convert .fastq to .sra @echo fastq -dump $ ^
I tested it by running touch a.sra b.sra
and then running create
. It runs commands for both files.
Comments
Post a Comment