[GenABEL-dev] [Genabel-commits] r630 - pkg/ProbABEL/src
L.C. Karssen
l.karssen at erasmusmc.nl
Fri Jan 7 17:41:59 CET 2011
On Fri, 2011-01-07 at 16:30 +0100, Yurii Aulchenko wrote:
> Great work, happy that things go on improving!
Thanks!
>
> Did you update the "changes.log", or will we eventually generate that
> based on commit-comments? (Some way to automate that???)
I think we should try to automate that. Let's think of that and maybe
look around how others do it.
>
> Btw my feeling is that few people use this pl except us -- do we
> describe how to configure it in the manual? That may be the reason...
It is mentioned in the manual. Maybe others have less cohorts?
Lennart.
>
> Yurii
>
> On 1/7/11, noreply at r-forge.r-project.org <noreply at r-forge.r-project.org> wrote:
> > Author: lckarssen
> > Date: 2011-01-07 14:01:11 +0100 (Fri, 07 Jan 2011)
> > New Revision: 630
> >
> > Modified:
> > pkg/ProbABEL/src/probabel.pl
> > Log:
> > Updates to the probabel.pl script. Tested for some time on our own
> > servers.
> > Details:
> > - Added possibility to use the script for the X chromosome as well
> > - Clarified part of the help text and error messages
> > - slightly simpler configuration because now the base path to each of
> > the pa-utilities can be set in one variable.
> > - Removed some superfluous spaces and empty lines
> > - Fixed a few minor spelling errors in the comments and help text.
> >
> >
> > Modified: pkg/ProbABEL/src/probabel.pl
> > ===================================================================
> > --- pkg/ProbABEL/src/probabel.pl 2011-01-05 17:31:39 UTC (rev 629)
> > +++ pkg/ProbABEL/src/probabel.pl 2011-01-07 13:01:11 UTC (rev 630)
> > @@ -1,27 +1,33 @@
> > -#! /usr/bin/perl
> > +#! /usr/bin/perl
> >
> > -#=====================================================================================
> > +#============================================================================
> > #
> > # Filename: probabel.pl
> > #
> > -# Description: Handy perl wraper for ProbABEL functions
> > +# Description: Handy perl wrapper for ProbABEL functions
> > #
> > -# Version: 1.1
> > +# Version: 1.4
> > # Created: 28-Oct-2008
> > # Revision: none
> > -# last modification: 12-Jan-2009
> > +# last modification: 07-Jan-2011
> > #
> > -# Author: Maksim V. Struchalin, Yurii S. Aulchenko
> > -# Company: ErasmusMC, Epidemiology & Biostatistics Department,
> > The Netherlands.
> > -# Email: m.struchalin at erasmusmc.nl,
> > i.aoultchenko at erasmusmc.nl
> > +# Author: Lennart C. Karssen,
> > +# Maksim V. Struchalin,
> > +# Yurii S. Aulchenko
> > +# Company: Erasmus MC,
> > +# Epidemiology & Biostatistics Department,
> > +# The Netherlands.
> > +# Email: l.karssen at erasmusmc.nl,
> > +# m.struchalin at erasmusmc.nl,
> > +# i.aoultchenko at erasmusmc.nl
> > #
> > -#=====================================================================================
> > +#============================================================================
> >
> >
> >
> >
> > -$version="1.1";
> > -$release_data="11-Jan-2009";
> > +$version="1.4";
> > +$release_data="07-Jan-2011";
> >
> > $_2df_file_postfix = "_2df.out.txt";
> > $_add_file_postfix = "_add.out.txt";
> > @@ -35,11 +41,11 @@
> > $separator_cfg = ",";
> > $separator_filename = "_._chr_._";
> >
> > +$base_path = "./";
> > +$config = $base_path . "probabel_config.cfg";
> >
> > -$config = "probabel_config.cfg";
> > -
> > @method = ("linear","logistic","coxph");
> > - at anprog = ("./palinear","./palogist","./pacoxph");
> > + at anprog = ($base_path . "palinear", $base_path . "palogist", $base_path .
> > "pacoxph");
> >
> > %cohorts;
> > @mlinfo;
> > @@ -72,52 +78,50 @@
> > close(CFG);
> >
> >
> > -
> > -
> > -if(@ARGV<6 || $ARGV[0] == "--help")
> > +if(@ARGV<6 || $ARGV[0] eq "--help")
> > {
> > print "\nUsage:
> > probabel.pl chrom-start chrom-end method cohort <--allmodels OR
> > --additive> trait <other available keys of ProbABEL functions>\n";
> > print "\n * chrom-start - the first chromosome number, chrom-end - the
> > last one";
> > print "\n * method can be ";
> > foreach $me(@method) {print "\"".$me."\", "};
> > - print "\n * use --allmodels if you need dominant, recessive and
> > heterozygous models
> > + print "\n * use --allmodels if you need dominant, recessive and
> > heterozygous models
> > and --additive if additive only\n";
> > print " * Available cohorts is ";
> > - foreach $coh(keys %cohorts) {print "\"".$coh."\", "};
> > + foreach $coh(keys %cohorts) {print "\"".$coh."\", "};
> > print "\n * example:
> > - probabel.pl 1 22 linear \"ERF\" --additive filename1 filename2
> > + probabel.pl 1 22 linear \"ERF\" --additive filename1 filename2
> > (filename has to be saved as filename.PHE)\n\n";
> > -
> > -
> > +
> > +
> > print "\n Details:\n";
> > - print " Script probabel.pl is used for analysis of imputed data.
> > - Firstly you have to create file with phenotypes which you are going to
> > use.
> > - The first column is ids in special order, the second - trait which you
> > are going analyze, rest - covariates.
> > + print " The probabel.pl script is used for analysis of imputed data.
> > + First you have to create file with the phenotypes that you are going to
> > use.
> > + The first column contains ids in special order, the second: the trait
> > which you are going analyze, the others containd covariates.
> > Like this =>
> > -
> > - id phen1 covariate1 covariate2
> > +
> > + id phen1 covariate1 covariate2
> > 1_2094 0 334 0
> > 1_5060 1 56 1
> > 1_4077 1 346 6
> > .
> > - .
> > .
> > -
> > - That means model:
> > + .
> > +
> > + This implies the model:
> > phen1 ~ covariate1 + covariate2 + SNP
> > -
> > -
> > - Then save it to folder where you are doing analysis. Name of file must
> > be name_of_file.PHE.
> > - Where name_of_file is any name.
> > -
> > - Then perform in bash (Linux) comand line
> > +
> > +
> > + Then save it to folder where you are doing the analysis. The name of the
> > file must be name_of_file.PHE, where name_of_file is any name.
> > +
> > + Then run the following on the Linux command line:
> > probabel.pl 1 22 \"method\" \"cohort\" --model name_of_file
> > - Change \"method\" \"cohort\" --model on appropriate values\n";
> > - print "\n Version: $version";
> > - print "\n Release data: $release_data";
> > - print "\n\n Autors: Maksim Struchalin - m.struchalin\@erasmusmc.nl,
> > - Yurii Aulchenko - i.aoultchenko\@erasmusmc.nl.\n\n";
> > + Change \"method\" \"cohort\" --model to appropriate values\n";
> > + print "\n Version: $version";
> > + print "\n Release data: $release_data";
> > + print "\n\n Authors: Lennart Karssen - l.karssen\@erasmusmc.nl,
> > + Maksim Struchalin - m.struchalin\@erasmusmc.nl,
> > + Yurii Aulchenko - i.aoultchenko\@erasmusmc.nl.\n\n";
> > exit;
> > }
> >
> > @@ -130,22 +134,18 @@
> >
> >
> >
> > -die "error: chrom-start is > 22" if($startchr > 22);
> > -die "error: chrom-end is > 22" if($endchr > 22);
> > +die "error: chrom-start is > 22" if($startchr > 22 && $startchr != "X") ;
> > +die "error: chrom-end is > 22" if($endchr > 22 && $endchr != "X");
> > die "error: chrom-start > chrom-end" if($startchr > $endchr);
> >
> >
> > -
> > -
> > -
> > -
> > $cohort_position = $cohorts{$chohort};
> >
> >
> > if(!defined($cohort_position))
> > {
> > -print "\nerror: Wrong cohort name
> > -Available cohorts is ";
> > +print "\nerror: Wrong cohort name, \"$chohort\" is not an available cohort.
> > +Available cohorts are ";
> > foreach $coh(keys %cohorts) {print "\"".$coh."\", "};
> > print "\n\n";
> > exit;
> > @@ -176,7 +176,7 @@
> > $keys="";
> >
> >
> > -for ($i=6;$i<@ARGV;$i++)
> > +for ($i=6;$i<@ARGV;$i++)
> > {
> > $keys = $keys.$ARGV[$i]." ";
> > }
> > @@ -207,12 +207,20 @@
> >
> > print "Start...\n";
> >
> > - $chr = $startchr;
> > - print `$prog -p $phename.PHE --ngpreds $model_option_num -i
> > $mlinfo_split[0]${chr}$mlinfo_split[1] -d
> > $mldose_probe_split1${chr}$mldose_probe_split2 -m
> > $legend_split[0]${chr}$legend_split[1] --chrom $chr -o $phename $keys`;
> > +$chr = $startchr;
> > +
> > +# Separate command for the X chromosome.
> > +if ($chr eq "X") {
> > + print `$prog -p $phename.PHE --ngpreds $model_option_num -i
> > $mlinfo_split[0]$mlinfo_split[1] -d $mldose_probe_split1$mldose_probe_split2
> > -m $legend_split[0]$legend_split[1] --chrom $chr -o $phename $keys`;
> > + exit;
> > +}
> > +
> > +# Commands for the autosomes
> > +print `$prog -p $phename.PHE --ngpreds $model_option_num -i
> > $mlinfo_split[0]${chr}$mlinfo_split[1] -d
> > $mldose_probe_split1${chr}$mldose_probe_split2 -m
> > $legend_split[0]${chr}$legend_split[1] --chrom $chr -o $phename $keys`;
> > for($chr=($startchr+1);$chr<=$endchr;$chr++)
> > {
> > print `$prog -p $phename.PHE --ngpreds $model_option_num -i
> > $mlinfo_split[0]${chr}$mlinfo_split[1] -d
> > $mldose_probe_split1${chr}$mldose_probe_split2 -m
> > $legend_split[0]${chr}$legend_split[1] --chrom $chr -o $phename.$chr
> > --no-head $keys`;
> > -
> > +
> > if($model_option_num==2)
> > {
> > `cat $phename.${chr}$_2df_file_postfix >>
> > ${phename}${_2df_file_postfix}`;
> > @@ -220,7 +228,7 @@
> >
> > `cat $phename.${chr}$_add_file_postfix >>
> > ${phename}${_add_file_postfix}`;
> > `rm $phename.${chr}$_add_file_postfix`;
> > -
> > +
> > `cat $phename.${chr}$_domin_file_postfix >>
> > ${phename}${_domin_file_postfix}`;
> > `rm $phename.${chr}$_domin_file_postfix`;
> >
> >
> > _______________________________________________
> > Genabel-commits mailing list
> > Genabel-commits at lists.r-forge.r-project.org
> > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-commits
> >
>
--
-----------------------------------------------
L.C. Karssen
Erasmus MC
Department of Epidemiology
Room Ee2224
Postbus 2040
3000 CA Rotterdam
The Netherlands
phone: +31-10-7044217
fax: +31-10-7044657
email: l.karssen at erasmusmc.nl
GPG key ID: 0E1D39E3
-----------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.r-forge.r-project.org/pipermail/genabel-devel/attachments/20110107/c25a1a82/attachment.pgp>
More information about the genabel-devel
mailing list