|
|
|
|
Google Site
|
|||||||
| Φόρουμ | Εγγραφή | Ιστολόγιο | Man Σελίδες | Κανόνες Φόρουμ | Σύνδεσμοι | Λευκώματα | Συχνές ερωτήσεις | Χρήστες | Ημερολόγιο | Αναζήτηση | Η σημερινή Θέσεις | Mark Forums Read |
| Ο προγραμματισμός και η Shell Scripting Post ερωτήσεις για KSH, CSH, SH, BASH, Perl, PHP, sed, AWK ΑΛΛΑ και shell scripts και shell scripting γλώσσα εδώ. |
![]() |
|
|
Εργαλεία Θέματος | Αναζήτηση αυτό το νήμα | Βαθμολογήστε Νήμα | Display Modes |
|
|||
|
Συγκρίνοντας τα δύο αρχεία
Γεια όλα, δεν είμαι προγραμματιστής, αλλά χρειάζονται λίγη βοήθεια με ένα έργο που κάνω. Έκανα διαβάσει αρκετές θέσεις και μοιάζει με awk ή python μπορεί να με βοηθήσει, αν και γνωρίζω πολύ λίγα για τη χρήση τους. Εδώ είναι η ερώτησή μου: Έχω πρώτο αρχείο με 6 στήλη. Κωδικός:
CHR SNP A1 A2 MAF NCHROBS
0 SNP_A-8414268 A G 0.1522 5354
1 rs12565286 C G 0.04139 5340
1 rs2980319 A T 0.1503 5362
1 rs2980300 T C 0.1773 5346
1 rs6603781 A G 0.1149 5346Δεύτερο αρχείο μου είναι πολύ παρόμοια με την πρώτη, αλλά μπορεί να είναι ή να μην έχουν την ίδια στήλη 2 (SNP). Υποψιάζομαι ότι η Col στήλες 3 και 4 (Α1 & Α2) μπορεί να είναι διαφορετική επίσης. Αυτό που απαιτείται είναι να πάρετε ένα αρχείο εξόδου με στήλες 1,2,3, 4, 5, 6 από το πρώτο αρχείο και την αντίστοιχη γραμμή που ταιριάζει στη στήλη 2 (SNP) του πρώτου αρχείου με τις στήλες 2,3,4, 5,6 (SNP, Α1, Α2, MAF, NCHROBS) από το δεύτερο αρχείο σε θέσεις 7,8,9,10,11,2. Το αρχείο εξόδου θα έχει ως εκ τούτου, 11 στήλες? Τους πρώτους 6 από 1.txt φάκελο και την αντίστοιχη διάρκεια των πέντε τελευταίων από το αρχείο 2.txt Κωδικός:
CHR SNP A1 A2 MAF NCHROBS
0 SNP_A-8414268 A G 0.1522 5354
1 rs12565286 C G 0.04139 5340
1 rs2980319 A T 0.1503 5362 rs2980319 A T 0.1503 4252
1 rs2980300 T C 0.1773 5346 rs2980300 T C 0.1273 4546
1 rs6603781 A G 0.1149 5346 rs6603781 G A 0.0249 4546Σας ευχαριστώ για την ανάγνωση |
| Sponsored Links |
|
|
|
|||
|
Γεια σου, Υποθέτοντας file1 σας και file2 έχουν ως εξής: Κωδικός:
$ cat f1
CHR SNP A1 A2 MAF NCHROBS
0 SNP_A-8414268 A G 0.1522 5354
1 rs12565286 C G 0.04139 5340
1 rs2980319 A T 0.1503 5362
1 rs2980300 T C 0.1773 5346
1 rs6603781 A G 0.1149 5346
$ cat f2
CHR SNP A1 A2 MAF NCHROBS
1 rs2980319 A T 0.1503 4252
1 rs2980300 T C 0.1273 4546
1 rs6603781 G A 0.0249 4546Δοκιμάστε αυτό: Κωδικός:
$ awk 'NR==FNR{k[$2]=sprintf(" %s %s %s %s %s",$2,$3,$4,$5,$6);next}{print $1,$2,$3,$4,$5,$6 k[$2]}' f2 f1
CHR SNP A1 A2 MAF NCHROBS SNP A1 A2 MAF NCHROBS
0 SNP_A-8414268 A G 0.1522 5354
1 rs12565286 C G 0.04139 5340
1 rs2980319 A T 0.1503 5362 rs2980319 A T 0.1503 4252
1 rs2980300 T C 0.1773 5346 rs2980300 T C 0.1273 4546
1 rs6603781 A G 0.1149 5346 rs6603781 G A 0.0249 4546 |
|
|||
|
Thanks a lot Ripat και tyler_durden. Η εντολή awk εργάστηκε σαν μια γοητεία. Μπορείτε να με βοηθήσετε με μία πιο μικρή λεπτομέρεια. Εδώ είναι δείγμα αρχείου μου από το προηγούμενο βήμα: Κωδικός:
1 rs4075116 G A 0.2857 546 rs4075116 C T 0.2646 2732 1 rs11260595 T G 0.02451 612 rs11260595 A C 0.02668 2774 1 rs6604968 C T 0.1672 616 rs6604968 G A 0.137 2810 1 rs11260554 A C 0.09547 618 rs11260554 T G 0.1153 2810 1 rs6603781 G A 0.1234 608 rs6603781 A G 0.1196 2810 Θέλω την εντολή awk να διαβάσει διάσελο 3 και στη συνέχεια, αναζητήστε την τιμή στο Συνταγματάρχης 8 και 9 σχετικά με την ίδια γραμμή. Αν δεν βρείτε την τιμή του Συνταγματάρχη 8 και 9, στη συνέχεια, γράψτε την αξία των Στήλη 2 του output.txt αρχείο εξόδου Είμαι προσπαθούν να μάθουν το NR \u003d\u003d FNR thingy .. μέχρι να καταλάβουν ότι .. kindly help. Αυτό είναι που ήρθα με, αλλά δεν είναι σίγουρος αν είναι σωστό! ![]() Κωδικός:
awk '{if(NR>1 && $3 !=$8 && $3!=$9){print $2}}' All_matchingsnps_in_bothdatasets.txt >nonambig.txtΤελευταία επεξεργασία από το genehunter? 09-28-2009 σε 09:20 μμ.. |
|
|||
|
Βάση την αρχική δείγμα δεδομένων: Κωδικός:
# cat f1
CHR SNP A1 A2 MAF NCHROBS
0 SNP_A-8414268 A G 0.1522 5354
1 rs12565286 C G 0.04139 5340
1 rs2980319 A T 0.1503 5362
1 rs2980300 T C 0.1773 5346
1 rs6603781 A G 0.1149 5346
# cat f2
CHR SNP A1 A2 MAF NCHROBS
1 rs2980319 A T 0.1503 4252
1 rs2980300 T C 0.1273 4546
1 rs6603781 G A 0.0249 4546
# # awk 'NR==FNR{$1=$1;a[$2]=$0;b[$2]=$3;next}b[$2]==$3||b[$2]==$4{print $2 > "nonambig.txt"}$1!~"[A-Z]"{$1=a[$2];print}' f1 f2
1 rs2980319 A T 0.1503 5362 rs2980319 A T 0.1503 4252
1 rs2980300 T C 0.1773 5346 rs2980300 T C 0.1273 4546
1 rs6603781 A G 0.1149 5346 rs6603781 G A 0.0249 4546
# cat nonambig.txt
SNP
rs2980319
rs2980300
rs6603781Τελευταία επεξεργασία από το danmero? 09-28-2009 σε 10:10 μμ.. Αιτιολογία: OP άλλαξε το περιεχόμενο |
|
|||
|
Απόσπασμα:
Κωδικός:
awk 'NR==FNR{$1=$1;a[$2]=$0;b[$2]=$3;next}b[$2]==$3||b[$2]==$4{print $2 > "nonambig.txt"}$1!~"[A-Z]"{$1=a[$2];print}' f1 f2 |
| Sponsored Links |
|
|
![]() |
| Σελιδοδείκτες |
| Εργαλεία Θέματος | Αναζήτηση αυτό το νήμα |
| Display Modes | Βαθμολογήστε αυτό το νήμα |
|
|
Περισσότερα UNIX και Linux Forum Θέματα που μπορεί να σας Χρήσιμη
|
||||
| Νήμα | Thread Starter | Φόρουμ | Απαντήσεις | Τελευταίο μήνυμα |
| τη σύγκριση των δύο αρχεία με την παραγωγή η οποία δεν είναι και στα δύο αρχεία | Suryanarayana | Ο προγραμματισμός και η Shell Scripting | 2 | 02-04-2009 08:41 AM |
| Βοήθεια Σύγκριση δύο αρχείων | awknerd | Ο προγραμματισμός και η Shell Scripting | 4 | 09-03-2008 01:24 AM |
| Συγκρίνοντας τα δύο αρχεία | superstar003 | Φόρουμ Υποστήριξης Περιοχή για Unregistered Users Προβλήματα & Λογαριασμός | 1 | 05-08-2008 04:34 AM |
| Σύγκριση 2 αρχεία | hdixon | UNIX για Ανδρείκελα Ερωτήσεις & Απαντήσεις | 2 | 08-01-2007 01:24 μμ |
| συγκρίνοντας σκιά αρχεία με πραγματικά αρχεία | terrym | UNIX για Advanced & Expert Χρήστες | 4 | 02-09-2007 02:38 AM |