Sponsored Content
Top Forums Shell Programming and Scripting Perl to update field based on a specific set of rules Post 303003255 by cmccabe on Monday 11th of September 2017 09:48:29 AM
Old 09-11-2017
wrong thread, please ignore. I apologize.

I think the below will capture lines 2-6, but not line 1 (looks like 018328) is being captured by the regex. Is the syntax correct or is there a better way? Thank you Smilie.

perl
Code:
    if ($FuncrefGene !~ /exonic/i && $GeneDetailrefGene=~/\D(\d+)/) {   # capture the digits into $1
              if ($1 > 11) {   # 
                      $1 ||= 0;  # Give it a value of zero if no numeric value was found.
                        $classification = 'Likely Benign';  # Reclassify intronic variants (with distance only) based on distance to exon > 10 to Likely Benign
         }
     }
    else {
              if ($FuncrefGene !~ /exonic/i && $GeneDetailrefGene=~/(\D\d+)/) {   # capture the digits after any non-digit into $1
                 if ($1 > 11) {   # 
                      $1 ||= 0;  # Give it a value of zero if no numeric value was found.
                        $classification = 'Likely Benign';  # Reclassify intronic variants (with distance only) based on distance to exon > 10 to Likely Benign
         }
     }
    else {
              if ($FuncrefGene !~ /exonic/i) {
                 my ($transcript) = ($GeneDetailrefGene) =~ /(?:\.\d+[+*-])/;   # Get a numeric value if exists using (.) and (+/-) and capture digits into $transcript.
                           $transcript ||= 0;  # Give it a value of zero if no numeric value was found.
                             $classification = 'Likely Benign' if $transcript > 11; # Reclassify intronic variants (following c. nomenclature) to Likely Benign if distance greater than 10
         }
     }

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Update a field in a file based on condition

Hi i am new to scripting. i have a file file.dat with content as : CONTENT_STORAGE PERCENTAGE FLAG: /storage_01 64% 0 /storage_02 17% 1 I need to update the value of FLAG for a particular CONTENT_STORAGE value I have written the following code #!/bin/sh threshold=20... (1 Reply)
Discussion started by: kichu
1 Replies

2. Shell Programming and Scripting

Help with allocated text content based on specific rules...

Input file format: /tag="ABL" /note="abl homolog 2 /tag="ABLIM1" /note="actin binding LIM 1 /tag="ABP1" /note="amiloride binding protein 1 (amine oxidase (copper- containing)) /tag="ABR" /note="active BCR-related /tag="AC003042.1" /note="SDR family member 11 precursor . . . (4 Replies)
Discussion started by: perl_beginner
4 Replies

3. Shell Programming and Scripting

Update specific field in a line of text file

I have a text file like this: subject1:LecturerA:10 subject2:LecturerA:40 if I was given string in column 1 and 2 (which are subject 1 and LecturerA) , i need to update 3rd field of that line containing that given string , which is, number 10 need to be updated to 100 ,for example. The... (6 Replies)
Discussion started by: bmtoan
6 Replies

4. Shell Programming and Scripting

Add specific string to last field of each line in perl based on value

I am trying to add a condition to the below perl that will capture the GTtag and place a specific string in the last field of each line. The problem is that the GT value used is not right after the tag rather it is a few fields away. The values should always be 0/1 or 1/2 and are in bold in the... (12 Replies)
Discussion started by: cmccabe
12 Replies

5. Shell Programming and Scripting

awk to update value in field based on another field

In the tab-delimeted input file below I am trying to use awk to update the value in $2 if TYPE=ins in bold, by adding the value of HRUN= in italics. In the below since in line 1 TYPE=ins the 117282541 value in $2 has 6 added because that is the value of HRUN=. Hopefully the awk is a start but I... (2 Replies)
Discussion started by: cmccabe
2 Replies

6. Shell Programming and Scripting

Perl to update field in file based of match to another file

In the perl below I am trying to set/update the value of $14 (last field) in file2, using the matching NM_ in $12 or $9 in file2 with the NM_ in $2 of file1. The lengths of $9 and $12 can be variable but what is consistent is the start pattern will always be NM_ and the end pattern is always ;... (4 Replies)
Discussion started by: cmccabe
4 Replies

7. Shell Programming and Scripting

Perl to change value based on set of rules

In the perl there is a default rule that sets f to VUS, and then a seris of rules that will change f based on the result that is obtained from the rule. The code below is a rule that is supposed to be applicable to lines 2-4 because this rule just looks at the digit in f. So in line 2 f is 27... (4 Replies)
Discussion started by: cmccabe
4 Replies

8. Shell Programming and Scripting

awk to assign points to variables based on conditions and update specific field

I have been reading old posts and trying to come up with a solution for the below: Use a tab-delimited input file to assign point to variables that are used to update a specific field, Rank. I really couldn't find too much in the way of assigning points to variable, but made an attempt at an awk... (4 Replies)
Discussion started by: cmccabe
4 Replies

9. Shell Programming and Scripting

Update a specific field in file with Variable value based on other Key Word

I have an input file with A=xyz B=pqr I would want the value in Second Field (xyz or pqr) updated with a value present in Shell Variable based on the value passed in the first field. (A or B ) while read line do NEW_VALUE = `some functionality done on $line` If $line=First Field-... (1 Reply)
Discussion started by: infernalhell
1 Replies

10. UNIX for Beginners Questions & Answers

Problem with getting awk to multiply a field by a value set based on condition of another field

Hi, So awk is driving me crazy on this one. I have searched everywhere and read man, docs and every related post Google can find and still no luck. The actual files I need to run this on are sensitive in nature, but it is the same thing as if I needed to calculate weighted grades for multiple... (15 Replies)
Discussion started by: cotilloe
15 Replies
Bio::Map::GenePosition(3pm)				User Contributed Perl Documentation			       Bio::Map::GenePosition(3pm)

NAME
Bio::Map::GenePosition - A typed position, suitable for modelling the various regions of a gene. SYNOPSIS
use Bio::Map::GenePosition; use Bio::Map::GeneMap; # say that the first transcript of a particular gene on a particular map # (species) is 1000bp long my $map = Bio::Map:GeneMap->get(-universal_name => 'BRCA2', -species => 'human'); my $gene = $map->gene; Bio::Map::GenePosition->new(-map => $map, -element => $gene, -start => 0, -length => 1000, -type => 'transcript'); # say that the coding region of the gene starts 30bp into the first # transcript Bio::Map::GenePosition->new(-map => $map, -element => $gene, -start => 30, -length => 600, -type => 'coding'); # A GenePosition isa PositionWithSequence, so can have sequence associated # with it my $exon = Bio::Map::GenePosition->new(-map => $map, -element => $gene, -start => 0, -type => 'exon', -seq => 'ATGGGGTGGG'); my $length = $exon->length; # $length is 10 DESCRIPTION
Define where various sub-regions (transcripts, exons, introns etc.) of a gene are. Do this so that you can then go onto to model other mappable elements as having positions 20bp upstream of transcript 2, or 10bp into intron 3 etc., all without having to know the absolute position of anything. See Bio::Map::GeneRelative and t/Map/Map.t for more example usage. FEEDBACK
Mailing Lists User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing list. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bioperl.org/wiki/Mailing_lists - About the mailing lists Support Please direct usage questions or support issues to the mailing list: bioperl-l@bioperl.org rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible. Reporting Bugs Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. Bug reports can be submitted via the web: https://redmine.open-bio.org/projects/bioperl/ AUTHOR - Sendu Bala Email bix@sendu.me.uk APPENDIX
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ new Title : new Usage : my $obj = Bio::Map::GenePosition->new(); Function: Builds a new Bio::Map::GenePosition object Returns : Bio::Map::GenePosition Args : -map => Bio::Map::GeneMap object -element => Bio::Map::Gene object -relative => Bio::Map::GeneRelative object -type => 'transcript|coding|exon|intron', REQUIRED -seq => string, length of this string will set the length of this position's range * If this position has no range, or if a single value can describe the range * -value => scalar : something that describes the single point position or range of this Position, most likely an int * Or if this position has a range, at least two of * -start => int : value of the start co-ordinate -end => int : value of the end co-ordinate -length => int : length of the range map Title : map Usage : my $map = $position->map(); $position->map($map); Function: Get/set the map the position is in. Returns : L<Bio::Map::MapI> Args : none to get new L<Bio::Map::MapI> to set element Title : element Usage : my $element = $position->element(); $position->element($element); Function: Get/set the element the position is for. Returns : L<Bio::Map::MappableI> Args : none to get new L<Bio::Map::MappableI> to set type Title : type Usage : my $type = $position->type(); $position->type($type); Function: Get/set the type of this position. Returns : string Args : none to get, OR string transcript|coding|exon|intron to set relative Title : relative Usage : my $relative = $position->relative(); $position->relative($relative); Function: Get/set the thing this Position's coordinates (numerical(), start(), end()) are relative to, as described by a RelativeI object. Returns : Bio::Map::GeneRelative. The default GeneRelative returned has a meaning that depends on the type() of GenePosition this is: 'transcript' : "relative to the start of the gene on the Position's map" 'coding|exon|intron' : "relative to the start of the default transcript of the gene on the Position's map" Args : none to get, OR Bio::Map::GeneRelative to set seq Title : seq Usage : my $string = $position->seq(); Function: Get/set the sequence as a string of letters. If no sequence is manually set by you, the position's map will be asked for the sequence, and if available, that will be returned. Returns : scalar Args : Optionally on set the new value (a string). An optional second argument presets the alphabet (otherwise it will be guessed). perl v5.14.2 2012-03-02 Bio::Map::GenePosition(3pm)
All times are GMT -4. The time now is 10:35 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy